diff --git a/NOTICE-fips.txt b/NOTICE-fips.txt index 9bd239c4813..cec90ef546a 100644 --- a/NOTICE-fips.txt +++ b/NOTICE-fips.txt @@ -11750,11 +11750,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/spf13/cobra -Version: v1.9.1 +Version: v1.10.1 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.9.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.10.1/LICENSE.txt: Apache License Version 2.0, January 2004 @@ -11934,11 +11934,11 @@ Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.9.1/LICE -------------------------------------------------------------------------------- Dependency : github.com/spf13/pflag -Version: v1.0.6 +Version: v1.0.9 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/spf13/pflag@v1.0.6/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/spf13/pflag@v1.0.9/LICENSE: Copyright (c) 2012 Alex Ogier. All rights reserved. Copyright (c) 2012 The Go Authors. All rights reserved. @@ -11972,11 +11972,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : github.com/stretchr/testify -Version: v1.10.0 +Version: v1.11.1 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.10.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.11.1/LICENSE: MIT License @@ -18569,218 +18569,6 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece limitations under the License. --------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/service -Version: v0.132.0 -Licence type (autodetected): Apache-2.0 --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/service@v0.132.0/LICENSE: - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -------------------------------------------------------------------------------- Dependency : go.uber.org/zap Version: v1.27.0 @@ -19320,11 +19108,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.75.0/LIC -------------------------------------------------------------------------------- Dependency : google.golang.org/protobuf -Version: v1.36.7 +Version: v1.36.8 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.36.7/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.36.8/LICENSE: Copyright (c) 2018 The Go Authors. All rights reserved. @@ -66976,11 +66764,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/shirou/gopsutil/v4 -Version: v4.25.7 +Version: v4.25.8 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/shirou/gopsutil/v4@v4.25.7/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/shirou/gopsutil/v4@v4.25.8/LICENSE: gopsutil is distributed under BSD license reproduced below. @@ -76203,12 +75991,224 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/inte -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/internal/telemetry -Version: v0.132.0 +Dependency : go.opentelemetry.io/collector/internal/telemetry +Version: v0.132.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/telemetry@v0.132.0/LICENSE: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +-------------------------------------------------------------------------------- +Dependency : go.opentelemetry.io/collector/pdata +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/telemetry@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata@v1.38.0/LICENSE: Apache License @@ -76415,12 +76415,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/inte -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata -Version: v1.38.0 +Dependency : go.opentelemetry.io/collector/pdata/pprofile +Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata@v1.38.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/pprofile@v0.132.0/LICENSE: Apache License @@ -76627,12 +76627,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata/pprofile +Dependency : go.opentelemetry.io/collector/pdata/testdata Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/pprofile@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/testdata@v0.132.0/LICENSE: Apache License @@ -76839,12 +76839,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata/testdata +Dependency : go.opentelemetry.io/collector/pdata/xpdata Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/testdata@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/xpdata@v0.132.0/LICENSE: Apache License @@ -77051,12 +77051,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata/xpdata +Dependency : go.opentelemetry.io/collector/pipeline/xpipeline Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/xpdata@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline/xpipeline@v0.132.0/LICENSE: Apache License @@ -77263,12 +77263,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pipeline/xpipeline +Dependency : go.opentelemetry.io/collector/processor/processorhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline/xpipeline@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper@v0.132.0/LICENSE: Apache License @@ -77475,12 +77475,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipe -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processorhelper +Dependency : go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper@v0.132.0/LICENSE: Apache License @@ -77687,12 +77687,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper +Dependency : go.opentelemetry.io/collector/processor/processortest Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processortest@v0.132.0/LICENSE: Apache License @@ -77899,12 +77899,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processortest +Dependency : go.opentelemetry.io/collector/processor/xprocessor Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processortest@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/xprocessor@v0.132.0/LICENSE: Apache License @@ -78111,12 +78111,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/xprocessor +Dependency : go.opentelemetry.io/collector/receiver/receiverhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/xprocessor@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receiverhelper@v0.132.0/LICENSE: Apache License @@ -78323,12 +78323,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/receiverhelper +Dependency : go.opentelemetry.io/collector/receiver/receivertest Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receiverhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receivertest@v0.132.0/LICENSE: Apache License @@ -78535,12 +78535,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/receivertest +Dependency : go.opentelemetry.io/collector/receiver/xreceiver Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receivertest@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/xreceiver@v0.132.0/LICENSE: Apache License @@ -78747,12 +78747,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/xreceiver +Dependency : go.opentelemetry.io/collector/scraper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/xreceiver@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper@v0.132.0/LICENSE: Apache License @@ -78959,12 +78959,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/scraper +Dependency : go.opentelemetry.io/collector/scraper/scraperhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper/scraperhelper@v0.132.0/LICENSE: Apache License @@ -79171,12 +79171,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scra -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/scraper/scraperhelper -Version: v0.132.0 +Dependency : go.opentelemetry.io/collector/semconv +Version: v0.128.1-0.20250610090210-188191247685 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper/scraperhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/semconv@v0.128.1-0.20250610090210-188191247685/LICENSE: Apache License @@ -79383,12 +79383,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scra -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/semconv -Version: v0.128.1-0.20250610090210-188191247685 +Dependency : go.opentelemetry.io/collector/service +Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/semconv@v0.128.1-0.20250610090210-188191247685/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/service@v0.132.0/LICENSE: Apache License @@ -81285,11 +81285,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/ebpf-profiler@ -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -81493,6 +81493,35 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.37.0/L See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc @@ -83817,11 +83846,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/log -Version: v0.13.0 +Version: v0.14.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.13.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.14.0/LICENSE: Apache License Version 2.0, January 2004 @@ -84025,14 +84054,43 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.13 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/metric -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -84236,14 +84294,43 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -84447,6 +84534,35 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.37 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk/log @@ -84661,11 +84777,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/log@v -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk/metric -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -84869,14 +84985,43 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metri See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/trace -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -85080,6 +85225,35 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1. See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/proto/otlp diff --git a/NOTICE.txt b/NOTICE.txt index 64aa8e6fb86..559f6e2a825 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -12383,11 +12383,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/spf13/cobra -Version: v1.9.1 +Version: v1.10.1 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.9.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.10.1/LICENSE.txt: Apache License Version 2.0, January 2004 @@ -12567,11 +12567,11 @@ Contents of probable licence file $GOMODCACHE/github.com/spf13/cobra@v1.9.1/LICE -------------------------------------------------------------------------------- Dependency : github.com/spf13/pflag -Version: v1.0.6 +Version: v1.0.9 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/spf13/pflag@v1.0.6/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/spf13/pflag@v1.0.9/LICENSE: Copyright (c) 2012 Alex Ogier. All rights reserved. Copyright (c) 2012 The Go Authors. All rights reserved. @@ -12605,11 +12605,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : github.com/stretchr/testify -Version: v1.10.0 +Version: v1.11.1 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.10.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/stretchr/testify@v1.11.1/LICENSE: MIT License @@ -19202,218 +19202,6 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece limitations under the License. --------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/service -Version: v0.132.0 -Licence type (autodetected): Apache-2.0 --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/service@v0.132.0/LICENSE: - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -------------------------------------------------------------------------------- Dependency : go.uber.org/zap Version: v1.27.0 @@ -19953,11 +19741,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.75.0/LIC -------------------------------------------------------------------------------- Dependency : google.golang.org/protobuf -Version: v1.36.7 +Version: v1.36.8 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.36.7/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.36.8/LICENSE: Copyright (c) 2018 The Go Authors. All rights reserved. @@ -75785,11 +75573,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/shirou/gopsutil/v4 -Version: v4.25.7 +Version: v4.25.8 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/shirou/gopsutil/v4@v4.25.7/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/shirou/gopsutil/v4@v4.25.8/LICENSE: gopsutil is distributed under BSD license reproduced below. @@ -86428,12 +86216,224 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/inte -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/internal/telemetry -Version: v0.132.0 +Dependency : go.opentelemetry.io/collector/internal/telemetry +Version: v0.132.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/telemetry@v0.132.0/LICENSE: + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +-------------------------------------------------------------------------------- +Dependency : go.opentelemetry.io/collector/pdata +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/telemetry@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata@v1.38.0/LICENSE: Apache License @@ -86640,12 +86640,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/inte -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata -Version: v1.38.0 +Dependency : go.opentelemetry.io/collector/pdata/pprofile +Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata@v1.38.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/pprofile@v0.132.0/LICENSE: Apache License @@ -86852,12 +86852,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata/pprofile +Dependency : go.opentelemetry.io/collector/pdata/testdata Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/pprofile@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/testdata@v0.132.0/LICENSE: Apache License @@ -87064,12 +87064,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata/testdata +Dependency : go.opentelemetry.io/collector/pdata/xpdata Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/testdata@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/xpdata@v0.132.0/LICENSE: Apache License @@ -87276,12 +87276,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pdata/xpdata +Dependency : go.opentelemetry.io/collector/pipeline/xpipeline Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/xpdata@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline/xpipeline@v0.132.0/LICENSE: Apache License @@ -87488,12 +87488,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pipeline/xpipeline +Dependency : go.opentelemetry.io/collector/processor/processorhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline/xpipeline@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper@v0.132.0/LICENSE: Apache License @@ -87700,12 +87700,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipe -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processorhelper +Dependency : go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper@v0.132.0/LICENSE: Apache License @@ -87912,12 +87912,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper +Dependency : go.opentelemetry.io/collector/processor/processortest Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processortest@v0.132.0/LICENSE: Apache License @@ -88124,12 +88124,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processortest +Dependency : go.opentelemetry.io/collector/processor/xprocessor Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processortest@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/xprocessor@v0.132.0/LICENSE: Apache License @@ -88336,12 +88336,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/xprocessor +Dependency : go.opentelemetry.io/collector/receiver/receiverhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/xprocessor@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receiverhelper@v0.132.0/LICENSE: Apache License @@ -88548,12 +88548,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/receiverhelper +Dependency : go.opentelemetry.io/collector/receiver/receivertest Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receiverhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receivertest@v0.132.0/LICENSE: Apache License @@ -88760,12 +88760,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/receivertest +Dependency : go.opentelemetry.io/collector/receiver/xreceiver Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receivertest@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/xreceiver@v0.132.0/LICENSE: Apache License @@ -88972,12 +88972,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/xreceiver +Dependency : go.opentelemetry.io/collector/scraper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/xreceiver@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper@v0.132.0/LICENSE: Apache License @@ -89184,12 +89184,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/scraper +Dependency : go.opentelemetry.io/collector/scraper/scraperhelper Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper/scraperhelper@v0.132.0/LICENSE: Apache License @@ -89396,12 +89396,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scra -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/scraper/scraperhelper -Version: v0.132.0 +Dependency : go.opentelemetry.io/collector/semconv +Version: v0.128.1-0.20250610090210-188191247685 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper/scraperhelper@v0.132.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/semconv@v0.128.1-0.20250610090210-188191247685/LICENSE: Apache License @@ -89608,12 +89608,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scra -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/semconv -Version: v0.128.1-0.20250610090210-188191247685 +Dependency : go.opentelemetry.io/collector/service +Version: v0.132.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/semconv@v0.128.1-0.20250610090210-188191247685/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/service@v0.132.0/LICENSE: Apache License @@ -91721,11 +91721,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/ebpf-profiler@ -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -91929,6 +91929,35 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.37.0/L See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc @@ -94253,11 +94282,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/log -Version: v0.13.0 +Version: v0.14.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.13.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.14.0/LICENSE: Apache License Version 2.0, January 2004 @@ -94461,14 +94490,43 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.13 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/metric -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -94672,14 +94730,43 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -94883,6 +94970,35 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.37 See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk/log @@ -95097,11 +95213,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/log@v -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk/metric -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -95305,14 +95421,43 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metri See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/trace -Version: v1.37.0 +Version: v1.38.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.37.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.38.0/LICENSE: Apache License Version 2.0, January 2004 @@ -95516,6 +95661,35 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1. See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/proto/otlp diff --git a/go.mod b/go.mod index 754eadadb0c..3f509bd71cc 100644 --- a/go.mod +++ b/go.mod @@ -71,9 +71,9 @@ require ( github.com/rs/zerolog v1.27.0 github.com/sajari/regression v1.0.1 github.com/schollz/progressbar/v3 v3.13.1 - github.com/spf13/cobra v1.9.1 - github.com/spf13/pflag v1.0.6 - github.com/stretchr/testify v1.10.0 + github.com/spf13/cobra v1.10.1 + github.com/spf13/pflag v1.0.9 + github.com/stretchr/testify v1.11.1 github.com/winlabs/gowin32 v0.0.0-20240930213947-f504d7e14639 go.elastic.co/apm/module/apmgorilla/v2 v2.6.0 go.elastic.co/apm/module/apmgrpc/v2 v2.6.0 @@ -85,7 +85,6 @@ require ( go.opentelemetry.io/collector/pipeline v1.38.0 go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.132.0 go.opentelemetry.io/collector/receiver/nopreceiver v0.132.0 - go.opentelemetry.io/collector/service v0.132.0 go.uber.org/zap v1.27.0 golang.org/x/crypto v0.41.0 golang.org/x/exp v0.0.0-20250215185904-eff6e970281f @@ -98,7 +97,7 @@ require ( golang.org/x/time v0.12.0 golang.org/x/tools v0.36.0 google.golang.org/grpc v1.75.0 - google.golang.org/protobuf v1.36.7 + google.golang.org/protobuf v1.36.8 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 @@ -565,7 +564,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect + github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect github.com/prometheus/alertmanager v0.28.1 // indirect github.com/prometheus/client_golang v1.23.0 // indirect github.com/prometheus/client_model v0.6.2 // indirect @@ -588,7 +587,7 @@ require ( github.com/scaleway/scaleway-sdk-go v1.0.0-beta.33 // indirect github.com/segmentio/fasthash v1.0.3 // indirect github.com/sergi/go-diff v1.3.1 // indirect - github.com/shirou/gopsutil/v4 v4.25.7 // indirect + github.com/shirou/gopsutil/v4 v4.25.8 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c // indirect github.com/sirupsen/logrus v1.9.3 // indirect @@ -686,6 +685,7 @@ require ( go.opentelemetry.io/collector/scraper v0.132.0 // indirect go.opentelemetry.io/collector/scraper/scraperhelper v0.132.0 // indirect go.opentelemetry.io/collector/semconv v0.128.1-0.20250610090210-188191247685 // indirect + go.opentelemetry.io/collector/service v0.132.0 // indirect go.opentelemetry.io/collector/service/hostcapabilities v0.132.0 // indirect go.opentelemetry.io/contrib/bridges/otelzap v0.12.0 // indirect go.opentelemetry.io/contrib/detectors/gcp v1.36.0 // indirect @@ -695,7 +695,7 @@ require ( go.opentelemetry.io/contrib/otelconf v0.17.0 // indirect go.opentelemetry.io/contrib/propagators/b3 v1.37.0 // indirect go.opentelemetry.io/ebpf-profiler v0.0.0-20250212075250-7bf12d3f962f // indirect - go.opentelemetry.io/otel v1.37.0 // indirect + go.opentelemetry.io/otel v1.38.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.13.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.13.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 // indirect @@ -707,12 +707,12 @@ require ( go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.13.0 // indirect go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0 // indirect go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.37.0 // indirect - go.opentelemetry.io/otel/log v0.13.0 // indirect - go.opentelemetry.io/otel/metric v1.37.0 // indirect - go.opentelemetry.io/otel/sdk v1.37.0 // indirect + go.opentelemetry.io/otel/log v0.14.0 // indirect + go.opentelemetry.io/otel/metric v1.38.0 // indirect + go.opentelemetry.io/otel/sdk v1.38.0 // indirect go.opentelemetry.io/otel/sdk/log v0.13.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect - go.opentelemetry.io/otel/trace v1.37.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect + go.opentelemetry.io/otel/trace v1.38.0 // indirect go.opentelemetry.io/proto/otlp v1.7.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/goleak v1.3.0 // indirect diff --git a/go.sum b/go.sum index 7d5648590f4..750401f2bb6 100644 --- a/go.sum +++ b/go.sum @@ -1372,8 +1372,8 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c h1:NRoLoZvkBTKvR5gQLgA3e0hqjkY9u1wm+iOL45VN/qI= -github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/poy/eachers v0.0.0-20181020210610-23942921fe77 h1:SNdqPRvRsVmYR0gKqFvrUKhFizPJ6yDiGQ++VAJIoDg= github.com/poy/eachers v0.0.0-20181020210610-23942921fe77/go.mod h1:x1vqpbcMW9T/KRcQ4b48diSiSVtYgvwQ5xzDByEg4WE= github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY= @@ -1452,8 +1452,8 @@ github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KR github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= -github.com/shirou/gopsutil/v4 v4.25.7 h1:bNb2JuqKuAu3tRlPv5piSmBZyMfecwQ+t/ILq+1JqVM= -github.com/shirou/gopsutil/v4 v4.25.7/go.mod h1:XV/egmwJtd3ZQjBpJVY5kndsiOO4IRqy9TQnmm6VP7U= +github.com/shirou/gopsutil/v4 v4.25.8 h1:NnAsw9lN7587WHxjJA9ryDnqhJpFH6A+wagYWTOH970= +github.com/shirou/gopsutil/v4 v4.25.8/go.mod h1:q9QdMmfAOVIw7a+eF86P7ISEU6ka+NLgkUxlopV4RwI= github.com/shoenig/test v1.7.1 h1:UJcjSAI3aUKx52kfcfhblgyhZceouhvvs3OYdWgn+PY= github.com/shoenig/test v1.7.1/go.mod h1:UxJ6u/x2v/TNs/LoLxBNJRV9DiwBBKYxXSyczsBHFoI= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -1473,11 +1473,11 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1 github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= -github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= -github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= +github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= +github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= -github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE= github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= github.com/stackitcloud/stackit-sdk-go/core v0.17.2 h1:jPyn+i8rkp2hM80+hOg0B/1EVRbMt778Tr5RWyK1m2E= @@ -1504,8 +1504,8 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/testcontainers/testcontainers-go v0.38.0 h1:d7uEapLcv2P8AvH8ahLqDMMxda2W9gQN1nRbHS28HBw= github.com/testcontainers/testcontainers-go v0.38.0/go.mod h1:C52c9MoHpWO+C4aqmgSU+hxlR5jlEayWtgYrb8Pzz1w= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= @@ -1819,8 +1819,8 @@ go.opentelemetry.io/contrib/zpages v0.62.0 h1:9fUYTLmrK0x/lweM2uM+BOx069jLx8PxVq go.opentelemetry.io/contrib/zpages v0.62.0/go.mod h1:C8kXoiC1Ytvereztus2R+kqdSa6W/MZ8FfS8Zwj+LiM= go.opentelemetry.io/ebpf-profiler v0.0.0-20250212075250-7bf12d3f962f h1:DqRQ7JaRjf3TwWwfwHIvsBB/aLUs+kgrX+MrAIllALI= go.opentelemetry.io/ebpf-profiler v0.0.0-20250212075250-7bf12d3f962f/go.mod h1:hfAVBjRN6FZjSgZUBsNzvRDJWlS46R5Y0SGVr4Jl86s= -go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= -go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.13.0 h1:z6lNIajgEBVtQZHjfw2hAccPEBDs+nx58VemmXWa2ec= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.13.0/go.mod h1:+kyc3bRx/Qkq05P6OCu3mTEIOxYRYzoIg+JsUp5X+PM= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.13.0 h1:zUfYw8cscHHLwaY8Xz3fiJu+R59xBnkgq2Zr1lwmK/0= @@ -1843,22 +1843,22 @@ go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0 h1:6VjV6Et+1Hd2iL go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0/go.mod h1:u8hcp8ji5gaM/RfcOo8z9NMnf1pVLfVY7lBY2VOGuUU= go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.37.0 h1:SNhVp/9q4Go/XHBkQ1/d5u9P/U+L1yaGPoi0x+mStaI= go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.37.0/go.mod h1:tx8OOlGH6R4kLV67YaYO44GFXloEjGPZuMjEkaaqIp4= -go.opentelemetry.io/otel/log v0.13.0 h1:yoxRoIZcohB6Xf0lNv9QIyCzQvrtGZklVbdCoyb7dls= -go.opentelemetry.io/otel/log v0.13.0/go.mod h1:INKfG4k1O9CL25BaM1qLe0zIedOpvlS5Z7XgSbmN83E= +go.opentelemetry.io/otel/log v0.14.0 h1:2rzJ+pOAZ8qmZ3DDHg73NEKzSZkhkGIua9gXtxNGgrM= +go.opentelemetry.io/otel/log v0.14.0/go.mod h1:5jRG92fEAgx0SU/vFPxmJvhIuDU9E1SUnEQrMlJpOno= go.opentelemetry.io/otel/log/logtest v0.13.0 h1:xxaIcgoEEtnwdgj6D6Uo9K/Dynz9jqIxSDu2YObJ69Q= go.opentelemetry.io/otel/log/logtest v0.13.0/go.mod h1:+OrkmsAH38b+ygyag1tLjSFMYiES5UHggzrtY1IIEA8= -go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= -go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= -go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= -go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= go.opentelemetry.io/otel/sdk/log v0.13.0 h1:I3CGUszjM926OphK8ZdzF+kLqFvfRY/IIoFq/TjwfaQ= go.opentelemetry.io/otel/sdk/log v0.13.0/go.mod h1:lOrQyCCXmpZdN7NchXb6DOZZa1N5G1R2tm5GMMTpDBw= go.opentelemetry.io/otel/sdk/log/logtest v0.13.0 h1:9yio6AFZ3QD9j9oqshV1Ibm9gPLlHNxurno5BreMtIA= go.opentelemetry.io/otel/sdk/log/logtest v0.13.0/go.mod h1:QOGiAJHl+fob8Nu85ifXfuQYmJTFAvcrxL6w5/tu168= -go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= -go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= -go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= -go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= @@ -2115,8 +2115,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= -google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= +google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/pkg/agent/application/application.go b/internal/pkg/agent/application/application.go index 33445794805..9584227d885 100644 --- a/internal/pkg/agent/application/application.go +++ b/internal/pkg/agent/application/application.go @@ -131,7 +131,13 @@ func New( if err != nil { return nil, nil, nil, fmt.Errorf("failed to create upgrader: %w", err) } - monitor := componentmonitoring.New(isMonitoringSupported, cfg.Settings.DownloadConfig.OS(), cfg.Settings.MonitoringConfig, rawConfig.OTel, agentInfo, isOtelExecModeSubprocess) + monitor := componentmonitoring.New( + isMonitoringSupported, + cfg.Settings.DownloadConfig.OS(), + cfg.Settings.MonitoringConfig, + agentInfo, + isOtelExecModeSubprocess, + ) runtime, err := runtime.NewManager( log, @@ -243,7 +249,16 @@ func New( return nil, nil, nil, errors.New(err, "failed to initialize composable controller") } - otelManager, err := otelmanager.NewOTelManager(log.Named("otel_manager"), logLevel, baseLogger, otelExecMode, agentInfo, monitor.ComponentMonitoringConfig, cfg.Settings.ProcessConfig.StopTimeout) + otelManager, err := otelmanager.NewOTelManager( + log.Named("otel_manager"), + logLevel, baseLogger, + otelExecMode, + agentInfo, + 0, // TODO: make this configurable in a follow-up + 0, // TODO: make this configurable in a follow-up + monitor.ComponentMonitoringConfig, + cfg.Settings.ProcessConfig.StopTimeout, + ) if err != nil { return nil, nil, nil, fmt.Errorf("failed to create otel manager: %w", err) } diff --git a/internal/pkg/agent/application/monitoring/component/v1_monitor.go b/internal/pkg/agent/application/monitoring/component/v1_monitor.go index 2fb39efd601..d995b4ec592 100644 --- a/internal/pkg/agent/application/monitoring/component/v1_monitor.go +++ b/internal/pkg/agent/application/monitoring/component/v1_monitor.go @@ -21,14 +21,11 @@ import ( "time" "unicode" - "go.opentelemetry.io/collector/confmap" - "go.opentelemetry.io/collector/service" + koanfmaps "github.com/knadh/koanf/maps" "github.com/elastic/elastic-agent/pkg/component" "github.com/elastic/elastic-agent/pkg/utils" - koanfmaps "github.com/knadh/koanf/maps" - "github.com/elastic/elastic-agent/internal/pkg/agent/application/info" "github.com/elastic/elastic-agent/internal/pkg/agent/application/paths" "github.com/elastic/elastic-agent/internal/pkg/agent/errors" @@ -38,6 +35,12 @@ import ( ) const ( + // OtelCollectorMetricsPortEnvVarName is the name of the environment variable used to pass the collector metrics + // port to the managed EDOT collector. It exists because by default we use a random port for this, and we want to + // determine it as late as possible. However, the monitoring manager is instantiated early in the application + // startup process, so instead we rely on this variable. The OTel manager is required to set it whenever it starts + // a collector. + OtelCollectorMetricsPortEnvVarName = "EDOT_COLLECTOR_METRICS_PORT" // args: data path, pipeline name, application name logFileFormat = "%s/logs/%s" // args: data path, install path, pipeline name, application name @@ -93,7 +96,6 @@ var ( type BeatsMonitor struct { enabled bool // feature flag disabling whole v1 monitoring story config *monitoringConfig - otelConfig *confmap.Conf operatingSystem string agentInfo info.Agent isOtelRuntimeSubprocess bool @@ -115,13 +117,12 @@ type monitoringConfig struct { } // New creates a new BeatsMonitor instance. -func New(enabled bool, operatingSystem string, cfg *monitoringCfg.MonitoringConfig, otelCfg *confmap.Conf, agentInfo info.Agent, isOtelRuntimeSubprocess bool) *BeatsMonitor { +func New(enabled bool, operatingSystem string, cfg *monitoringCfg.MonitoringConfig, agentInfo info.Agent, isOtelRuntimeSubprocess bool) *BeatsMonitor { return &BeatsMonitor{ enabled: enabled, config: &monitoringConfig{ C: cfg, }, - otelConfig: otelCfg, operatingSystem: operatingSystem, agentInfo: agentInfo, isOtelRuntimeSubprocess: isOtelRuntimeSubprocess, @@ -149,7 +150,6 @@ func (b *BeatsMonitor) Reload(rawConfig *config.Config) error { } b.config = &newConfig - b.otelConfig = rawConfig.OTel return nil } @@ -519,34 +519,9 @@ func (b *BeatsMonitor) monitoringNamespace() string { } func (b *BeatsMonitor) getCollectorTelemetryEndpoint() string { - if b.otelConfig != nil { - if serviceConfig, err := b.otelConfig.Sub("service"); err == nil { - var service service.Config - if serviceConfig.Unmarshal(&service, confmap.WithIgnoreUnused()) == nil { - for _, reader := range service.Telemetry.Metrics.Readers { - if reader.Pull == nil || reader.Pull.Exporter.Prometheus == nil { - continue - } - prometheus := *reader.Pull.Exporter.Prometheus - host := "localhost" - port := 8888 - - if prometheus.Host != nil { - host = *prometheus.Host - } - if prometheus.Port != nil { - port = *prometheus.Port - } - if prometheus.Host != nil || prometheus.Port != nil { - return host + ":" + strconv.Itoa(port) - } - } - } - } - } - - // If there is no explicit configuration, the collector publishes its telemetry on port 8888. - return "localhost:8888" + // The OTel manager is required to set the environment variable. See comment at the constant definition for more + // information. + return fmt.Sprintf("localhost:${env:%s}", OtelCollectorMetricsPortEnvVarName) } // injectMetricsInput injects monitoring config for agent monitoring to the `cfg` object. diff --git a/internal/pkg/agent/application/monitoring/component/v1_monitor_test.go b/internal/pkg/agent/application/monitoring/component/v1_monitor_test.go index 84894c3b27b..2569cada75c 100644 --- a/internal/pkg/agent/application/monitoring/component/v1_monitor_test.go +++ b/internal/pkg/agent/application/monitoring/component/v1_monitor_test.go @@ -1102,7 +1102,7 @@ func TestMonitorReload(t *testing.T) { monitorcfg.MonitorLogs = false monitorcfg.MonitorMetrics = false - beatsMonitor := New(true, "", monitorcfg, nil, nil, false) + beatsMonitor := New(true, "", monitorcfg, nil, false) assert.Equal(t, beatsMonitor.config.C.MonitorLogs, false) assert.Equal(t, beatsMonitor.config.C.MonitorLogs, false) diff --git a/internal/pkg/agent/cmd/inspect.go b/internal/pkg/agent/cmd/inspect.go index 2db65c3dbf7..a56479c5ad9 100644 --- a/internal/pkg/agent/cmd/inspect.go +++ b/internal/pkg/agent/cmd/inspect.go @@ -420,7 +420,7 @@ func getMonitoringFn(ctx context.Context, logger *logger.Logger, cfg map[string] } otelExecMode := otelconfig.GetExecutionModeFromConfig(logger, config) isOtelExecModeSubprocess := otelExecMode == manager.SubprocessExecutionMode - monitor := componentmonitoring.New(agentCfg.Settings.V1MonitoringEnabled, agentCfg.Settings.DownloadConfig.OS(), agentCfg.Settings.MonitoringConfig, otelCfg, agentInfo, isOtelExecModeSubprocess) + monitor := componentmonitoring.New(agentCfg.Settings.V1MonitoringEnabled, agentCfg.Settings.DownloadConfig.OS(), agentCfg.Settings.MonitoringConfig, agentInfo, isOtelExecModeSubprocess) return monitor.MonitoringConfig, nil } diff --git a/internal/pkg/otel/manager/common.go b/internal/pkg/otel/manager/common.go index 3127a70e5aa..e4c9542a0cf 100644 --- a/internal/pkg/otel/manager/common.go +++ b/internal/pkg/otel/manager/common.go @@ -6,6 +6,7 @@ package manager import ( "context" + "errors" "fmt" "net" @@ -52,21 +53,30 @@ func reportCollectorStatus(ctx context.Context, statusCh chan *status.AggregateS } } -// findRandomTCPPort finds a random available TCP port on the localhost interface. -func findRandomTCPPort() (int, error) { - l, err := netListen("tcp", "localhost:0") - if err != nil { - return 0, err - } +// findRandomTCPPorts finds count random available TCP ports on the localhost interface. +func findRandomTCPPorts(count int) (ports []int, err error) { + ports = make([]int, 0, count) + listeners := make([]net.Listener, 0, count) + defer func() { + for _, listener := range listeners { + if closeErr := listener.Close(); closeErr != nil { + err = errors.Join(err, fmt.Errorf("error closing listener: %w", closeErr)) + } + } + }() + for range count { + l, err := netListen("tcp", "localhost:0") + if err != nil { + return nil, err + } + listeners = append(listeners, l) - port := l.Addr().(*net.TCPAddr).Port - err = l.Close() - if err != nil { - return 0, err - } - if port == 0 { - return 0, fmt.Errorf("failed to find random port") + port := l.Addr().(*net.TCPAddr).Port + if port == 0 { + return nil, fmt.Errorf("failed to find random port") + } + ports = append(ports, port) } - return port, nil + return ports, err } diff --git a/internal/pkg/otel/manager/common_test.go b/internal/pkg/otel/manager/common_test.go index f728cff8f52..1277ce3e619 100644 --- a/internal/pkg/otel/manager/common_test.go +++ b/internal/pkg/otel/manager/common_test.go @@ -8,8 +8,11 @@ import ( "errors" "net" "path/filepath" + "slices" "testing" + "github.com/stretchr/testify/assert" + "github.com/elastic/elastic-agent-client/v7/pkg/client" "github.com/elastic/elastic-agent/internal/pkg/agent/application/paths" "github.com/elastic/elastic-agent/pkg/component" @@ -18,9 +21,15 @@ import ( ) func TestFindRandomPort(t *testing.T) { - port, err := findRandomTCPPort() + portCount := 2 + ports, err := findRandomTCPPorts(portCount) require.NoError(t, err) - require.NotEqual(t, 0, port) + require.Len(t, ports, portCount) + for _, port := range ports { + assert.NotEqual(t, 0, port) + } + slices.Sort(ports) + require.Len(t, slices.Compact(ports), portCount, "returned ports should be unique") defer func() { netListen = net.Listen @@ -29,8 +38,8 @@ func TestFindRandomPort(t *testing.T) { netListen = func(string, string) (net.Listener, error) { return nil, errors.New("some error") } - _, err = findRandomTCPPort() - require.Error(t, err, "failed to find random port") + _, err = findRandomTCPPorts(portCount) + assert.Error(t, err, "failed to find random port") } func testComponent(componentId string) component.Component { diff --git a/internal/pkg/otel/manager/execution_embedded.go b/internal/pkg/otel/manager/execution_embedded.go index 9f67bc20e07..ab6f157f2ec 100644 --- a/internal/pkg/otel/manager/execution_embedded.go +++ b/internal/pkg/otel/manager/execution_embedded.go @@ -6,6 +6,8 @@ package manager import ( "context" + "os" + "strconv" "time" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" @@ -14,17 +16,22 @@ import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" + componentmonitoring "github.com/elastic/elastic-agent/internal/pkg/agent/application/monitoring/component" + "github.com/elastic/elastic-agent/internal/pkg/otel" "github.com/elastic/elastic-agent/internal/pkg/otel/agentprovider" "github.com/elastic/elastic-agent/internal/pkg/release" "github.com/elastic/elastic-agent/pkg/core/logger" ) -func newExecutionEmbedded() *embeddedExecution { - return &embeddedExecution{} +// newExecutionEmbedded creates a new execution which runs the otel collector in a goroutine. A metricsPort of 0 will +// result in a random port being used. +func newExecutionEmbedded(metricsPort int) *embeddedExecution { + return &embeddedExecution{collectorMetricsPort: metricsPort} } type embeddedExecution struct { + collectorMetricsPort int } // startCollector starts the collector in a new goroutine. @@ -37,6 +44,10 @@ func (r *embeddedExecution) startCollector(ctx context.Context, logger *logger.L cancel: collectorCancel, } + collectorMetricsPort, err := r.getCollectorMetricsPort() + if err != nil { + return nil, err + } // NewForceExtensionConverterFactory is used to ensure that the agent_status extension is always enabled. // It is required for the Elastic Agent to extract the status out of the OTel collector. settings := otel.NewSettings( @@ -54,6 +65,18 @@ func (r *embeddedExecution) startCollector(ctx context.Context, logger *logger.L return nil, err } go func() { + // Set the environment variable for the collector metrics port. See comment at the constant definition for more information. + setErr := os.Setenv(componentmonitoring.OtelCollectorMetricsPortEnvVarName, strconv.Itoa(collectorMetricsPort)) + defer func() { + unsetErr := os.Unsetenv(componentmonitoring.OtelCollectorMetricsPortEnvVarName) + if unsetErr != nil { + logger.Errorf("couldn't unset environment variable %s: %v", componentmonitoring.OtelCollectorMetricsPortEnvVarName, unsetErr) + } + }() + if setErr != nil { + reportErr(ctx, errCh, setErr) + return + } runErr := svc.Run(collectorCtx) close(ctl.collectorDoneCh) reportErr(ctx, errCh, runErr) @@ -61,6 +84,22 @@ func (r *embeddedExecution) startCollector(ctx context.Context, logger *logger.L return ctl, nil } +// getCollectorPorts returns the metrics port used by the OTel collector. If the port set in the execution struct is 0, +// a random port is returned instead. +func (r *embeddedExecution) getCollectorMetricsPort() (metricsPort int, err error) { + // if the port is defined (non-zero), use it + if r.collectorMetricsPort > 0 { + return r.collectorMetricsPort, nil + } + + // get a random port + ports, err := findRandomTCPPorts(1) + if err != nil { + return 0, err + } + return ports[0], nil +} + type ctxHandle struct { collectorDoneCh chan struct{} cancel context.CancelFunc diff --git a/internal/pkg/otel/manager/execution_subprocess.go b/internal/pkg/otel/manager/execution_subprocess.go index 300e43b70b8..c861ecfe937 100644 --- a/internal/pkg/otel/manager/execution_subprocess.go +++ b/internal/pkg/otel/manager/execution_subprocess.go @@ -17,6 +17,8 @@ import ( "go.opentelemetry.io/collector/component" "gopkg.in/yaml.v3" + componentmonitoring "github.com/elastic/elastic-agent/internal/pkg/agent/application/monitoring/component" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" "go.opentelemetry.io/collector/component/componentstatus" "go.opentelemetry.io/collector/confmap" @@ -36,7 +38,9 @@ const ( OtelSupervisedMonitoringURLFlagName = "supervised.monitoring.url" ) -func newSubprocessExecution(logLevel logp.Level, collectorPath string) (*subprocessExecution, error) { +// newSubprocessExecution creates a new execution which runs the otel collector in a subprocess. A metricsPort or +// healthCheckPort of 0 will result in a random port being used. +func newSubprocessExecution(logLevel logp.Level, collectorPath string, metricsPort int, healthCheckPort int) (*subprocessExecution, error) { nsUUID, err := uuid.NewV4() if err != nil { return nil, fmt.Errorf("cannot generate UUID: %w", err) @@ -55,18 +59,22 @@ func newSubprocessExecution(logLevel logp.Level, collectorPath string) (*subproc fmt.Sprintf("--%s=%s", OtelSupervisedLoggingLevelFlagName, logLevel.String()), fmt.Sprintf("--%s=%s", OtelSupervisedMonitoringURLFlagName, monitoring.EDOTMonitoringEndpoint()), }, - logLevel: logLevel, - healthCheckExtensionID: healthCheckExtensionID, - reportErrFn: reportErr, + logLevel: logLevel, + healthCheckExtensionID: healthCheckExtensionID, + collectorMetricsPort: metricsPort, + collectorHealthCheckPort: healthCheckPort, + reportErrFn: reportErr, }, nil } type subprocessExecution struct { - collectorPath string - collectorArgs []string - logLevel logp.Level - healthCheckExtensionID string - reportErrFn func(ctx context.Context, errCh chan error, err error) // required for testing + collectorPath string + collectorArgs []string + logLevel logp.Level + healthCheckExtensionID string + collectorMetricsPort int + collectorHealthCheckPort int + reportErrFn func(ctx context.Context, errCh chan error, err error) // required for testing } // startCollector starts a supervised collector and monitors its health. Process exit errors are sent to the @@ -87,9 +95,9 @@ func (r *subprocessExecution) startCollector(ctx context.Context, logger *logger return nil, fmt.Errorf("cannot access collector path: %w", err) } - httpHealthCheckPort, err := findRandomTCPPort() + httpHealthCheckPort, collectorMetricsPort, err := r.getCollectorPorts() if err != nil { - return nil, fmt.Errorf("could not find port for http health check: %w", err) + return nil, fmt.Errorf("could not find port for collector: %w", err) } if err := injectHeathCheckV2Extension(cfg, r.healthCheckExtensionID, httpHealthCheckPort); err != nil { @@ -107,9 +115,12 @@ func (r *subprocessExecution) startCollector(ctx context.Context, logger *logger stdErr := runtimeLogger.NewLogWriterWithDefaults(logger.Core(), zapcore.Level(r.logLevel)) procCtx, procCtxCancel := context.WithCancel(ctx) + env := os.Environ() + // Set the environment variable for the collector metrics port. See comment at the constant definition for more information. + env = append(env, fmt.Sprintf("%s=%d", componentmonitoring.OtelCollectorMetricsPortEnvVarName, collectorMetricsPort)) processInfo, err := process.Start(r.collectorPath, process.WithArgs(r.collectorArgs), - process.WithEnv(os.Environ()), + process.WithEnv(env), process.WithCmdOptions(func(c *exec.Cmd) error { c.Stdin = bytes.NewReader(confBytes) c.Stdout = stdOut @@ -212,6 +223,37 @@ func (r *subprocessExecution) startCollector(ctx context.Context, logger *logger return ctl, nil } +// getCollectorPorts returns the ports used by the OTel collector. If the ports set in the execution struct are 0, +// random ports are returned instead. +func (r *subprocessExecution) getCollectorPorts() (healthCheckPort int, metricsPort int, err error) { + randomPorts := make([]*int, 0, 2) + // if the ports are defined (non-zero), use them + if r.collectorMetricsPort == 0 { + randomPorts = append(randomPorts, &metricsPort) + } else { + metricsPort = r.collectorMetricsPort + } + if r.collectorHealthCheckPort == 0 { + randomPorts = append(randomPorts, &healthCheckPort) + } else { + healthCheckPort = r.collectorHealthCheckPort + } + + if len(randomPorts) == 0 { + return healthCheckPort, metricsPort, nil + } + + // we need at least one random port, create it + ports, err := findRandomTCPPorts(len(randomPorts)) + if err != nil { + return 0, 0, err + } + for i, port := range ports { + *randomPorts[i] = port + } + return healthCheckPort, metricsPort, nil +} + type procHandle struct { processDoneCh chan struct{} processInfo *process.Info diff --git a/internal/pkg/otel/manager/manager.go b/internal/pkg/otel/manager/manager.go index 3339cd88566..c4fc7b1b807 100644 --- a/internal/pkg/otel/manager/manager.go +++ b/internal/pkg/otel/manager/manager.go @@ -18,6 +18,8 @@ import ( "go.uber.org/zap" + componentmonitoring "github.com/elastic/elastic-agent/internal/pkg/agent/application/monitoring/component" + "github.com/elastic/elastic-agent-client/v7/pkg/client" "github.com/elastic/elastic-agent/internal/pkg/agent/application/info" "github.com/elastic/elastic-agent/internal/pkg/otel/translate" @@ -120,6 +122,8 @@ func NewOTelManager( baseLogger *logger.Logger, mode ExecutionMode, agentInfo info.Agent, + collectorMetricsPort int, // 0 means we pick a random port + collectorHealthCheckPort int, // 0 means we pick a random port beatMonitoringConfigGetter translate.BeatMonitoringConfigGetter, stopTimeout time.Duration, ) (*OTelManager, error) { @@ -134,13 +138,13 @@ func NewOTelManager( return nil, fmt.Errorf("failed to get the path to the collector executable: %w", err) } recoveryTimer = newRecoveryBackoff(100*time.Nanosecond, 10*time.Second, time.Minute) - exec, err = newSubprocessExecution(logLevel, executable) + exec, err = newSubprocessExecution(logLevel, executable, collectorMetricsPort, collectorHealthCheckPort) if err != nil { return nil, fmt.Errorf("failed to create subprocess execution: %w", err) } case EmbeddedExecutionMode: recoveryTimer = newRestarterNoop() - exec = newExecutionEmbedded() + exec = newExecutionEmbedded(collectorMetricsPort) default: return nil, fmt.Errorf("unknown otel collector execution mode: %q", mode) } @@ -326,7 +330,12 @@ func (m *OTelManager) Errors() <-chan error { } // buildMergedConfig combines collector configuration with component-derived configuration. -func buildMergedConfig(cfgUpdate configUpdate, agentInfo info.Agent, monitoringConfigGetter translate.BeatMonitoringConfigGetter, logger *logp.Logger) (*confmap.Conf, error) { +func buildMergedConfig( + cfgUpdate configUpdate, + agentInfo info.Agent, + monitoringConfigGetter translate.BeatMonitoringConfigGetter, + logger *logp.Logger, +) (*confmap.Conf, error) { mergedOtelCfg := confmap.New() // Generate component otel config if there are components @@ -361,6 +370,10 @@ func buildMergedConfig(cfgUpdate configUpdate, agentInfo info.Agent, monitoringC } } + if err := addCollectorMetricsReader(mergedOtelCfg); err != nil { + return nil, fmt.Errorf("failed to add random collector metrics port: %w", err) + } + return mergedOtelCfg, nil } @@ -590,3 +603,42 @@ func calculateConfmapHash(conf *confmap.Conf) ([]byte, error) { return h.Sum(nil), nil } + +func addCollectorMetricsReader(conf *confmap.Conf) error { + // We operate on untyped maps instead of otel config structs because the otel collector has an elaborate + // configuration resolution system, and we can't reproduce it fully here. It's possible some of the values won't + // be valid for unmarshalling, because they're supposed to be loaded from environment variables, and so on. + metricReadersUntyped := conf.Get("service::telemetry::metrics::readers") + if metricReadersUntyped == nil { + metricReadersUntyped = []any{} + } + metricsReadersList, ok := metricReadersUntyped.([]any) + if !ok { + return fmt.Errorf("couldn't convert value of service::telemetry::metrics::readers to a list: %v", metricReadersUntyped) + } + + metricsReader := map[string]any{ + "pull": map[string]any{ + "exporter": map[string]any{ + "prometheus": map[string]any{ + "host": "localhost", + // The OTel manager is required to set this environment variable. See comment at the constant + // definition for more information. + "port": fmt.Sprintf("${env:%s}", componentmonitoring.OtelCollectorMetricsPortEnvVarName), + // this is the default configuration from the otel collector + "without_scope_info": true, + "without_units": true, + "without_type_suffix": true, + }, + }, + }, + } + metricsReadersList = append(metricsReadersList, metricsReader) + confMap := map[string]any{ + "service::telemetry::metrics::readers": metricsReadersList, + } + if mergeErr := conf.Merge(confmap.NewFromStringMap(confMap)); mergeErr != nil { + return fmt.Errorf("failed to merge config: %w", mergeErr) + } + return nil +} diff --git a/internal/pkg/otel/manager/manager_test.go b/internal/pkg/otel/manager/manager_test.go index 5c3f08ba057..bf97167cd23 100644 --- a/internal/pkg/otel/manager/manager_test.go +++ b/internal/pkg/otel/manager/manager_test.go @@ -9,6 +9,9 @@ package manager import ( "context" "errors" + "fmt" + "net" + "net/http" "os" "path/filepath" "strings" @@ -18,6 +21,7 @@ import ( "github.com/elastic/elastic-agent-client/v7/pkg/client" "github.com/elastic/elastic-agent/internal/pkg/agent/application/info" + componentmonitoring "github.com/elastic/elastic-agent/internal/pkg/agent/application/monitoring/component" "github.com/elastic/elastic-agent/internal/pkg/otel/translate" "github.com/elastic/elastic-agent/pkg/component" "github.com/elastic/elastic-agent/pkg/component/runtime" @@ -305,7 +309,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "embedded collector config updates", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newExecutionEmbedded(), nil + return newExecutionEmbedded(0), nil }, restarter: newRestarterNoop(), testFn: func(t *testing.T, m *OTelManager, e *EventListener, exec *testExecution, managerCtxCancel context.CancelFunc, collectorRunErr chan error) { @@ -332,7 +336,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "subprocess collector config updates", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newSubprocessExecution(logp.DebugLevel, testBinary) + return newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) }, restarter: newRecoveryBackoff(100*time.Nanosecond, 10*time.Second, time.Minute), testFn: func(t *testing.T, m *OTelManager, e *EventListener, exec *testExecution, managerCtxCancel context.CancelFunc, collectorRunErr chan error) { @@ -360,7 +364,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "embedded collector stopped gracefully outside manager", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newExecutionEmbedded(), nil + return newExecutionEmbedded(0), nil }, restarter: newRestarterNoop(), testFn: func(t *testing.T, m *OTelManager, e *EventListener, exec *testExecution, managerCtxCancel context.CancelFunc, collectorRunErr chan error) { @@ -386,7 +390,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "subprocess collector stopped gracefully outside manager", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newSubprocessExecution(logp.DebugLevel, testBinary) + return newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) }, restarter: newRecoveryBackoff(100*time.Nanosecond, 10*time.Second, time.Minute), testFn: func(t *testing.T, m *OTelManager, e *EventListener, exec *testExecution, managerCtxCancel context.CancelFunc, collectorRunErr chan error) { @@ -414,7 +418,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "subprocess collector killed outside manager", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newSubprocessExecution(logp.DebugLevel, testBinary) + return newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) }, restarter: newRecoveryBackoff(100*time.Nanosecond, 10*time.Second, time.Minute), testFn: func(t *testing.T, m *OTelManager, e *EventListener, exec *testExecution, managerCtxCancel context.CancelFunc, collectorRunErr chan error) { @@ -457,7 +461,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "subprocess collector panics", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newSubprocessExecution(logp.DebugLevel, testBinary) + return newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) }, restarter: newRecoveryBackoff(100*time.Nanosecond, 10*time.Second, time.Minute), testFn: func(t *testing.T, m *OTelManager, e *EventListener, exec *testExecution, managerCtxCancel context.CancelFunc, collectorRunErr chan error) { @@ -493,7 +497,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "subprocess collector killed if delayed and manager is stopped", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - subprocessExec, err := newSubprocessExecution(logp.DebugLevel, testBinary) + subprocessExec, err := newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) if err != nil { return nil, err } @@ -546,7 +550,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "subprocess collector gracefully exited if delayed a bit and manager is stopped", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - subprocessExec, err := newSubprocessExecution(logp.DebugLevel, testBinary) + subprocessExec, err := newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) if err != nil { return nil, err } @@ -599,7 +603,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "embedded collector invalid config", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newExecutionEmbedded(), nil + return newExecutionEmbedded(0), nil }, restarter: newRestarterNoop(), skipListeningErrors: true, @@ -640,7 +644,7 @@ func TestOTelManager_Run(t *testing.T) { { name: "subprocess collector invalid config", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newSubprocessExecution(logp.DebugLevel, testBinary) + return newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) }, restarter: newRecoveryBackoff(100*time.Nanosecond, 10*time.Second, time.Minute), skipListeningErrors: true, @@ -766,19 +770,19 @@ func TestOTelManager_Logging(t *testing.T) { { name: "in-process execution", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newExecutionEmbedded(), nil + return newExecutionEmbedded(0), nil }, }, { name: "subprocess execution", execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { - return newSubprocessExecution(logp.DebugLevel, testBinary) + return newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) }, }, } { t.Run(tc.name, func(t *testing.T) { // the execution mode passed here is overridden below so it is irrelevant - m, err := NewOTelManager(l, logp.DebugLevel, base, EmbeddedExecutionMode, nil, nil, waitTimeForStop) + m, err := NewOTelManager(l, logp.DebugLevel, base, EmbeddedExecutionMode, nil, 0, 0, nil, waitTimeForStop) require.NoError(t, err, "could not create otel manager") executionMode, err := tc.execModeFn(m.collectorRunErr) @@ -816,6 +820,220 @@ func TestOTelManager_Logging(t *testing.T) { } } +func TestOTelManager_Ports(t *testing.T) { + ports, err := findRandomTCPPorts(2) + require.NoError(t, err) + healthCheckPort, metricsPort := ports[0], ports[1] + + wd, erWd := os.Getwd() + require.NoError(t, erWd, "cannot get working directory") + + testBinary := filepath.Join(wd, "testing", "testing") + require.FileExists(t, testBinary, "testing binary not found") + + const waitTimeForStop = 30 * time.Second + + for _, tc := range []struct { + name string + execModeFn func(collectorRunErr chan error) (collectorExecution, error) + healthCheckEnabled bool + }{ + { + name: "in-process execution", + execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { + return newExecutionEmbedded(metricsPort), nil + }, + healthCheckEnabled: false, + }, + { + name: "subprocess execution", + execModeFn: func(collectorRunErr chan error) (collectorExecution, error) { + return newSubprocessExecution(logp.DebugLevel, testBinary, metricsPort, healthCheckPort) + }, + healthCheckEnabled: true, + }, + } { + t.Run(tc.name, func(t *testing.T) { + base, obs := loggertest.New("otel") + l, _ := loggertest.New("otel-manager") + ctx := t.Context() + + t.Cleanup(func() { + if t.Failed() { + for _, log := range obs.All() { + t.Logf("%+v", log) + } + } + }) + + // the execution mode passed here is overridden below so it is irrelevant + m, err := NewOTelManager( + l, + logp.DebugLevel, + base, EmbeddedExecutionMode, + nil, + metricsPort, + healthCheckPort, + nil, + waitTimeForStop, + ) + require.NoError(t, err, "could not create otel manager") + + executionMode, err := tc.execModeFn(m.collectorRunErr) + require.NoError(t, err, "failed to create execution mode") + testExecutionMode := &testExecution{exec: executionMode} + m.execution = testExecutionMode + + go func() { + err := m.Run(ctx) + assert.ErrorIs(t, err, context.Canceled, "otel manager should be cancelled") + }() + + go func() { + for { + select { + case colErr := <-m.Errors(): + require.NoError(t, colErr, "otel manager should not return errors") + case <-ctx.Done(): + return + } + } + }() + + cfg := confmap.NewFromStringMap(testConfig) + cfg.Delete("service::telemetry::metrics::level") // change this to default + m.Update(cfg, nil) + + // wait until status reflects the config update + require.EventuallyWithT(t, func(collect *assert.CollectT) { + select { + case collectorStatus := <-m.WatchCollector(): + require.NotNil(collect, collectorStatus, "collector status should not be nil") + assert.Equal(collect, componentstatus.StatusOK, collectorStatus.Status()) + assert.NotEmpty(collect, collectorStatus.ComponentStatusMap) + case <-ctx.Done(): + require.NoError(collect, ctx.Err()) + } + }, time.Second*10, time.Second) + + // the collector should expose its status and metrics on the set ports + healthCheckUrl := fmt.Sprintf("http://localhost:%d%s", healthCheckPort, healthCheckHealthStatusPath) + metricsUrl := fmt.Sprintf("http://localhost:%d/metrics", metricsPort) + urlsToCheck := []string{metricsUrl} + if tc.healthCheckEnabled { + urlsToCheck = append(urlsToCheck, healthCheckUrl) + } + for _, url := range urlsToCheck { + assert.EventuallyWithT(t, func(collect *assert.CollectT) { + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) + assert.NoError(collect, err) + resp, err := http.DefaultClient.Do(req) + require.NoError(collect, err) + defer func() { + _ = resp.Body.Close() + }() + assert.Equal(collect, http.StatusOK, resp.StatusCode) + }, time.Second*10, time.Second) + } + }) + } +} + +// TestOTelManager_PortConflict test verifies that the collector restarts and tries new ports if it encounters a port +// conflict. +func TestOTelManager_PortConflict(t *testing.T) { + // switch the net.Listen implementation with one that returns test listeners that ignore the Close call the first + // two times + var timesCalled int + var mx sync.Mutex + netListen = func(network string, address string) (net.Listener, error) { + mx.Lock() + defer mx.Unlock() + l, err := net.Listen(network, address) + if err != nil { + return nil, err + } + if timesCalled < 2 { + // only actually close the listener after test completion, freeing the port + t.Cleanup(func() { + assert.NoError(t, l.Close()) + }) + // this listener won't free the port even after Close is called, leading to port binding conflicts later + // in the test + l = &fakeCloseListener{inner: l} + } + timesCalled++ + return l, err + } + t.Cleanup(func() { + netListen = net.Listen + }) + + wd, erWd := os.Getwd() + require.NoError(t, erWd, "cannot get working directory") + + testBinary := filepath.Join(wd, "testing", "testing") + require.FileExists(t, testBinary, "testing binary not found") + + const waitTimeForStop = 30 * time.Second + + base, obs := loggertest.New("base") + l := base.Named("otel-manager") + ctx := t.Context() + + t.Cleanup(func() { + if t.Failed() { + for _, log := range obs.All() { + t.Logf("%+v", log) + } + } + }) + + // the execution mode passed here is overridden below so it is irrelevant + m, err := NewOTelManager( + l, + logp.DebugLevel, + base, SubprocessExecutionMode, + nil, + 0, + 0, + nil, + waitTimeForStop, + ) + require.NoError(t, err, "could not create otel manager") + executionMode, err := newSubprocessExecution(logp.DebugLevel, testBinary, 0, 0) + require.NoError(t, err, "could not create subprocess execution mode") + m.execution = executionMode + + go func() { + err := m.Run(ctx) + assert.ErrorIs(t, err, context.Canceled, "otel manager should be cancelled") + }() + + cfg := confmap.NewFromStringMap(testConfig) + cfg.Delete("service::telemetry::metrics::level") // change this to default + + // no retries, collector is not running + assert.Equal(t, uint32(0), m.recoveryRetries.Load()) + + m.Update(cfg, nil) + + // wait until status reflects the config update + require.EventuallyWithT(t, func(collect *assert.CollectT) { + select { + case collectorStatus := <-m.WatchCollector(): + require.NotNil(collect, collectorStatus, "collector status should not be nil") + assert.Equal(collect, componentstatus.StatusOK, collectorStatus.Status()) + assert.NotEmpty(collect, collectorStatus.ComponentStatusMap) + case <-ctx.Done(): + require.NoError(collect, ctx.Err()) + } + }, time.Second*10, time.Second) + + // collector must have retried exactly once + assert.Equal(t, uint32(1), m.recoveryRetries.Load()) +} + // statusToYaml converts the status.AggregateStatus to a YAML string representation. func statusToYaml(s *status.AggregateStatus) string { printable := toSerializableStatus(s) @@ -887,9 +1105,9 @@ func TestOTelManager_buildMergedConfig(t *testing.T) { }, { name: "collector config only", - collectorCfg: confmap.NewFromStringMap(map[string]any{"receivers": map[string]any{"nop": map[string]any{}}}), + collectorCfg: confmap.NewFromStringMap(testConfig), components: nil, - expectedKeys: []string{"receivers"}, + expectedKeys: []string{"receivers", "exporters", "service", "processors"}, }, { name: "components only", @@ -899,7 +1117,7 @@ func TestOTelManager_buildMergedConfig(t *testing.T) { }, { name: "both collector config and components", - collectorCfg: confmap.NewFromStringMap(map[string]any{"processors": map[string]any{"batch": map[string]any{}}}), + collectorCfg: confmap.NewFromStringMap(testConfig), components: []component.Component{testComp}, expectedKeys: []string{"receivers", "exporters", "service", "processors"}, }, @@ -1242,8 +1460,10 @@ func TestOTelManagerEndToEnd(t *testing.T) { case <-ctx.Done(): t.Fatal("timeout waiting for collector config update") } - assert.Equal(t, collectorCfg, execution.cfg) + expectedCfg := confmap.NewFromStringMap(collectorCfg.ToStringMap()) + assert.NoError(t, addCollectorMetricsReader(expectedCfg)) + assert.Equal(t, expectedCfg, execution.cfg) }) t.Run("collector status is passed up to the component manager", func(t *testing.T) { @@ -1558,3 +1778,102 @@ func TestOTelManager_maybeUpdateMergedConfig(t *testing.T) { assert.Equal(t, []byte(nil), m.mergedCollectorCfgHash) }) } + +func TestAddCollectorMetricsPort(t *testing.T) { + expectedReader := map[string]any{ + "pull": map[string]any{ + "exporter": map[string]any{ + "prometheus": map[string]any{ + "host": "localhost", + "port": fmt.Sprintf("${env:%s}", componentmonitoring.OtelCollectorMetricsPortEnvVarName), + "without_scope_info": true, + "without_units": true, + "without_type_suffix": true, + }, + }, + }, + } + otelConfigWithReaders := func(readers any) *confmap.Conf { + baseConf := confmap.NewFromStringMap(testConfig) + err := baseConf.Merge(confmap.NewFromStringMap(map[string]any{ + "service": map[string]any{ + "telemetry": map[string]any{ + "metrics": map[string]any{ + "readers": readers, + }, + }, + }, + })) + require.NoError(t, err) + return baseConf + } + + t.Run("readers does not exist", func(t *testing.T) { + conf := otelConfigWithReaders(nil) + err := addCollectorMetricsReader(conf) + require.NoError(t, err) + + readers := conf.Get("service::telemetry::metrics::readers") + require.NotNil(t, readers) + readersList, ok := readers.([]any) + require.True(t, ok) + require.Len(t, readersList, 1) + + assert.Equal(t, expectedReader, readersList[0]) + }) + + t.Run("readers is an empty list", func(t *testing.T) { + conf := otelConfigWithReaders([]any{}) + err := addCollectorMetricsReader(conf) + require.NoError(t, err) + + readers := conf.Get("service::telemetry::metrics::readers") + require.NotNil(t, readers) + readersList, ok := readers.([]any) + require.True(t, ok) + require.Len(t, readersList, 1) + + assert.Equal(t, expectedReader, readersList[0]) + }) + + t.Run("readers has existing items", func(t *testing.T) { + existingReader := map[string]any{"foo": "bar"} + conf := otelConfigWithReaders([]any{existingReader}) + err := addCollectorMetricsReader(conf) + require.NoError(t, err) + + readers := conf.Get("service::telemetry::metrics::readers") + require.NotNil(t, readers) + readersList, ok := readers.([]any) + require.True(t, ok) + require.Len(t, readersList, 2) + + assert.Equal(t, existingReader, readersList[0]) + assert.Equal(t, expectedReader, readersList[1]) + }) + + t.Run("readers is not a list", func(t *testing.T) { + conf := otelConfigWithReaders("not a list") + err := addCollectorMetricsReader(conf) + require.Error(t, err) + assert.Contains(t, err.Error(), "couldn't convert value of service::telemetry::metrics::readers to a list") + }) +} + +// fakeCloseListener is a wrapper around a net.Listener that ignores the Close() method. This is used in a very particular +// port conflict test to ensure ports are not unbound while the otel collector tries to use them. +type fakeCloseListener struct { + inner net.Listener +} + +func (t *fakeCloseListener) Accept() (net.Conn, error) { + return t.inner.Accept() +} + +func (t *fakeCloseListener) Close() error { + return nil +} + +func (t *fakeCloseListener) Addr() net.Addr { + return t.inner.Addr() +}