diff --git a/.chloggen/avoid_rendering_whole_event_to_obtain_provider_name_windowseventlogreceiver.yaml b/.chloggen/35445-add-kvstore-telemetry.yaml similarity index 90% rename from .chloggen/avoid_rendering_whole_event_to_obtain_provider_name_windowseventlogreceiver.yaml rename to .chloggen/35445-add-kvstore-telemetry.yaml index 3a39ecb892cb..6e6292d009d3 100644 --- a/.chloggen/avoid_rendering_whole_event_to_obtain_provider_name_windowseventlogreceiver.yaml +++ b/.chloggen/35445-add-kvstore-telemetry.yaml @@ -4,13 +4,13 @@ change_type: 'enhancement' # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: windowseventlogreceiver +component: splunkenterprisereceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Avoid rendering the whole event to obtain the provider name +note: Add telemetry around the Splunk Enterprise kv-store. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34755] +issues: [35445] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/apachereceiver_fix_panic_on_invalid_endpoint.yaml b/.chloggen/36031-add-namespace-support.yaml similarity index 90% rename from .chloggen/apachereceiver_fix_panic_on_invalid_endpoint.yaml rename to .chloggen/36031-add-namespace-support.yaml index 7ecb35213358..8875adeae59b 100644 --- a/.chloggen/apachereceiver_fix_panic_on_invalid_endpoint.yaml +++ b/.chloggen/36031-add-namespace-support.yaml @@ -1,16 +1,16 @@ # Use this changelog template to create an entry for release notes. # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: 'bug_fix' +change_type: 'enhancement' # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: apachereceiver +component: journaldreceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix panic on invalid endpoint configuration +note: allows querying a journald namespace # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34992] +issues: [36031] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/add-hostmetric-system-uptime.yaml b/.chloggen/add-hostmetric-system-uptime.yaml new file mode 100644 index 000000000000..296b5a311edc --- /dev/null +++ b/.chloggen/add-hostmetric-system-uptime.yaml @@ -0,0 +1,25 @@ +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: hostmetricsreceiver + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add an uptime scraper in the hostmetrics receiver + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [31627] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [user] diff --git a/.chloggen/add-time-parser-locale-support.yaml b/.chloggen/add-time-parser-locale-support.yaml deleted file mode 100644 index e5f899baa5a7..000000000000 --- a/.chloggen/add-time-parser-locale-support.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: pkg/ottl - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add support for localized time parsing into the coreinternal/timeutils - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: - - 32977 - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [api] diff --git a/.chloggen/feat_16224_aggregate_label_value.yaml b/.chloggen/add_azure_default_auth.yaml similarity index 83% rename from .chloggen/feat_16224_aggregate_label_value.yaml rename to .chloggen/add_azure_default_auth.yaml index c6c69f8b42ed..d9f279fc7991 100644 --- a/.chloggen/feat_16224_aggregate_label_value.yaml +++ b/.chloggen/add_azure_default_auth.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: transformprocessor +component: azuredataexplorerexporter # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Support aggregating metrics based on their attribute values and substituting the values with a new value." +note: Add new configuration option `use_default_auth` to enable default authentication for Azure Data Explorer. This option allows users to leverage workload identity for authentication. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [16224] +issues: [33667] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/elasticsearchexporter_encode-double-as-double.yaml b/.chloggen/add_otlp.yaml similarity index 86% rename from .chloggen/elasticsearchexporter_encode-double-as-double.yaml rename to .chloggen/add_otlp.yaml index a897e7850763..dbea16c5a93d 100644 --- a/.chloggen/elasticsearchexporter_encode-double-as-double.yaml +++ b/.chloggen/add_otlp.yaml @@ -1,16 +1,14 @@ -# Use this changelog template to create an entry for release notes. - # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' change_type: bug_fix # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: elasticsearchexporter +component: awsfirehosereceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix dynamic mapping for double values storing integers +note: make otlp_v1 a valid record type # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34680] +issues: [35750] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/otelarrow-exporttimeout.yaml b/.chloggen/awss3receiver_enable.yaml similarity index 91% rename from .chloggen/otelarrow-exporttimeout.yaml rename to .chloggen/awss3receiver_enable.yaml index ea97db44729e..c92ab9920f1a 100644 --- a/.chloggen/otelarrow-exporttimeout.yaml +++ b/.chloggen/awss3receiver_enable.yaml @@ -1,16 +1,16 @@ # Use this changelog template to create an entry for release notes. # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement +change_type: 'enhancement' # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: otelarrowexporter +component: awss3receiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add gRPC timeout propagation. +note: "Mark the AWS S3 receiver as Alpha." # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34733] +issues: [30750] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/clickhouse-upgrade-statuscode-kind.yaml b/.chloggen/clickhouse-upgrade-statuscode-kind.yaml deleted file mode 100644 index e58b48a4b32c..000000000000 --- a/.chloggen/clickhouse-upgrade-statuscode-kind.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: clickhouseexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Upgrade trace SpanKind and StatusCode string values - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34799] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: | - This change updates the output of the trace SpanKind and StatusCode fields to be consistent - with the specification's enum values. While this change will not break any deployments, it may affect - queries dependent on the old enum names. - - For more details on old->new values, see this related PR: - https://github.com/open-telemetry/opentelemetry-collector/pull/6250 - - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/ottl-remove-tracing.yaml b/.chloggen/codeboten_rm-unmaintained-component.yaml similarity index 92% rename from .chloggen/ottl-remove-tracing.yaml rename to .chloggen/codeboten_rm-unmaintained-component.yaml index b8ad5432f5e9..e3dac9bff4dc 100644 --- a/.chloggen/ottl-remove-tracing.yaml +++ b/.chloggen/codeboten_rm-unmaintained-component.yaml @@ -4,13 +4,13 @@ change_type: breaking # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: ottl +component: googlecloudspannerreceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Remove tracing from OTTL due to performance concerns +note: Removing unmaintained component # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34910] +issues: [35724] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/datagog-receiver-contract.yaml b/.chloggen/datagog-receiver-contract.yaml new file mode 100644 index 000000000000..abb9aec33e9e --- /dev/null +++ b/.chloggen/datagog-receiver-contract.yaml @@ -0,0 +1,25 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver) +component: datadogreceiver + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Follow receiver contract based on type of error + +# One or more tracking issues or pull requests related to the change +issues: [5909] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [] diff --git a/.chloggen/dd-conn-peer-tags.yaml b/.chloggen/dd-conn-peer-tags.yaml deleted file mode 100644 index e062f7db77fb..000000000000 --- a/.chloggen/dd-conn-peer-tags.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: datadogconnector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Optimize Datadog connector when there are many peer tags and `connector.datadogconnector.NativeIngest` is enabled" - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34945] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: "`connector.datadogconnector.NativeIngest` is currently enabled by default" - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/drop_empty_events.yaml b/.chloggen/drop_empty_events.yaml deleted file mode 100644 index 406eac1c9406..000000000000 --- a/.chloggen/drop_empty_events.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: splunkhecexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Drop empty log events - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34871] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: | - Log records with no body are dropped by Splunk on reception - as they contain no log message, albeit they may have attributes. - - This PR removes those logs from consideration to be exported. - - This is in tune with the behavior of splunkhecreceiver, which refuses HEC events with no event (#19769) - - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/elasticsearchexporter_otel-mode-traces-span-events.yaml b/.chloggen/elasticsearchexporter_otel-mode-traces-span-events.yaml deleted file mode 100644 index 73e7e06cd4e5..000000000000 --- a/.chloggen/elasticsearchexporter_otel-mode-traces-span-events.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: elasticsearchexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add span event support to traces OTel mapping mode - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34831] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - Span events are now supported in OTel mapping mode. - They will be routed to `logs-${data_stream.dataset}-${data_stream.namespace}` if `traces_dynamic_index::enabled` is `true`. - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] diff --git a/.chloggen/elasticsearchexporter_workaround-tsdb-array-dimension.yaml b/.chloggen/elasticsearchexporter_workaround-tsdb-array-dimension.yaml deleted file mode 100644 index c248d5274ef5..000000000000 --- a/.chloggen/elasticsearchexporter_workaround-tsdb-array-dimension.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: bug_fix - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: elasticsearchexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Stringify attribute array values in metrics OTel mode - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [35004] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - Elasticsearch TSDB does not support array dimensions. - Workaround it by stringifying attribute array values in OTel mapping mode for metrics. -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] diff --git a/.chloggen/feat_33227.yaml b/.chloggen/feat_33227.yaml deleted file mode 100644 index c4a956723098..000000000000 --- a/.chloggen/feat_33227.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: spanmetricsconnector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [33227, 32818] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: "Default namespace for the generated metrics is traces.span.metrics now. | - The deprecated metrics are: calls, duration and events. | - The feature flag connector.spanmetrics.legacyLatencyMetricNames was added to revert the behavior." - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] diff --git a/.chloggen/feat_kafkareceiver-fetch-configurable.yaml b/.chloggen/feat_kafkareceiver-fetch-configurable.yaml deleted file mode 100644 index 831c10a11331..000000000000 --- a/.chloggen/feat_kafkareceiver-fetch-configurable.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: kafkareceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Adds tunable fetch sizes to Kafka Receiver - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [22741, 34431] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: Adds the ability to tune the minumum, default and maximum fetch sizes for the Kafka Receiver - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] diff --git a/.chloggen/fix_set_data_race.yaml b/.chloggen/fix-dd-service-checks-response.yaml similarity index 88% rename from .chloggen/fix_set_data_race.yaml rename to .chloggen/fix-dd-service-checks-response.yaml index 1186fe0955d2..6bc0142f3d60 100644 --- a/.chloggen/fix_set_data_race.yaml +++ b/.chloggen/fix-dd-service-checks-response.yaml @@ -4,13 +4,13 @@ change_type: 'bug_fix' # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: geoipprocessor +component: 'datadogreceiver' # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Avoid using internal empty attribute.Set pointer +note: "Changes response message for `/api/v1/check_run` 202 response to be JSON and on par with Datadog API spec" # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34882] +issues: [36027] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/fix-hisgogram-metrics-miss-unit.yaml b/.chloggen/fix-hisgogram-metrics-miss-unit.yaml deleted file mode 100644 index 9a0e8117c85d..000000000000 --- a/.chloggen/fix-hisgogram-metrics-miss-unit.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: servicegraphconnector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix histogram metrics miss unit - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34511] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - All metrics will remove the suffix `_seconds`. It will not introduce breaking change if users use - | `prometheusexporter` or `prometheusremotewriteexporter` to exporter metrics in pipeline. - | In some cases, like using `clickhouseexporter`(save data in native OTLP format), it will be a breaking change. - | Users can use `transformprocessor` to add back this suffix. - - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/fix_memleak_obsreport.yaml b/.chloggen/fix_memleak_obsreport.yaml deleted file mode 100644 index 681cd3eff17f..000000000000 --- a/.chloggen/fix_memleak_obsreport.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: bug_fix - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: splunkhecreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix memory leak when the receiver is used for both metrics and logs at the same time - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34886] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/fix_sqlserver_resource_attrs.yaml b/.chloggen/fix_sqlserver_resource_attrs.yaml deleted file mode 100644 index 3d95952a275f..000000000000 --- a/.chloggen/fix_sqlserver_resource_attrs.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: bug_fix - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: sqlserverreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix bug where metrics were being emitted with the wrong database name resource attribute - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [35036] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/githubreceiver-alpha.yaml b/.chloggen/githubreceiver-alpha.yaml deleted file mode 100644 index 52eef23ef7b4..000000000000 --- a/.chloggen/githubreceiver-alpha.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: githubreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Promote GitHub receiver metrics to alpha status. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34960] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/gitprovider-rename.yaml b/.chloggen/gitprovider-rename.yaml deleted file mode 100644 index fc6089508bb8..000000000000 --- a/.chloggen/gitprovider-rename.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: gitproviderreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: The Git Provider Receiver has been renamed to GitHub Receiver. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34731] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: | - This rename was to better match the OpenTelemetry semantic convention changes in v1.27.0 - and allows for Traces and Log signals to be added to this component. Traces - as mentioned in issue #27460 will be added in a future release to this component. - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/googlecloudmonitoringreceiver-phase2.yaml b/.chloggen/googlecloudmonitoringreceiver-phase2.yaml deleted file mode 100644 index 5c8a4ac581a7..000000000000 --- a/.chloggen/googlecloudmonitoringreceiver-phase2.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: googlecloudmonitoringreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Enhancing the Google Cloud monitoring receiver to establish a client connection, scrape GCP Cloud Metrics, and transform them into an OpenTelemetry compatible format for pipeline processing. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [33762] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: | - - Implements client connection to Google Cloud Monitoring API. - - Scrapes timeseries data based on configured metrics. - - Converts the data into OpenTelemetry format for use in the pipeline. - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user, api] diff --git a/.chloggen/datadogreceiver-sketches.yaml b/.chloggen/hostmetrics-report-scraper-names-in-errors.yaml similarity index 89% rename from .chloggen/datadogreceiver-sketches.yaml rename to .chloggen/hostmetrics-report-scraper-names-in-errors.yaml index 76a07480626b..c17b936ec68b 100644 --- a/.chloggen/datadogreceiver-sketches.yaml +++ b/.chloggen/hostmetrics-report-scraper-names-in-errors.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: datadogreceiver +component: hostmetrics # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: add support for sketch metrics in Datadog receiver +note: Adjust scraper creation to make it so the scraper name is reported with hostmetrics scraper errors. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [18278] +issues: [35814] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/intervalprocessor_gauge_summary.yaml b/.chloggen/intervalprocessor_gauge_summary.yaml deleted file mode 100644 index 96894ec68371..000000000000 --- a/.chloggen/intervalprocessor_gauge_summary.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: processor/interval - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Support for gauge and summary metrics. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34803] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: Only the last value of a gauge or summary metric is reported in the interval processor, instead of all values. - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] diff --git a/.chloggen/elasticsearchexporter_exponential-histogram.yaml b/.chloggen/jm-prom-translation-rw2-add-support-for-labels.yaml similarity index 90% rename from .chloggen/elasticsearchexporter_exponential-histogram.yaml rename to .chloggen/jm-prom-translation-rw2-add-support-for-labels.yaml index 31bb58e2c7fc..24e0251534c5 100644 --- a/.chloggen/elasticsearchexporter_exponential-histogram.yaml +++ b/.chloggen/jm-prom-translation-rw2-add-support-for-labels.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: elasticsearchexporter +component: pkg/translator/prometheusremotewrite # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add exponential histogram support +note: "`FromMetricsV2` now transforms attributes into labels." # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34813] +issues: [33661] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/kafkareceiver-encoding-extensions.yaml b/.chloggen/kafkareceiver-encoding-extensions.yaml deleted file mode 100644 index 60cd65dc5028..000000000000 --- a/.chloggen/kafkareceiver-encoding-extensions.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: kafkareceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add support for encoding extensions in the Kafka receiver. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [33888] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: | - This change adds support for encoding extensions in the Kafka receiver. Loading extensions takes precedence over the internally supported encodings. - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] diff --git a/.chloggen/mackjmr_custom-log-src-support.yaml b/.chloggen/mackjmr_custom-log-src-support.yaml deleted file mode 100644 index 888a50e30206..000000000000 --- a/.chloggen/mackjmr_custom-log-src-support.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: datadogexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add support for setting a custom log source from resource attribute `datadog.log.source` - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [35051] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/mark-instana-exporter-module-deprecated.yaml b/.chloggen/mark-instana-exporter-module-deprecated.yaml deleted file mode 100644 index d4ea32ec7f98..000000000000 --- a/.chloggen/mark-instana-exporter-module-deprecated.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: deprecation - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: instanaexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Marking instanaexporter module as deprecated - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34994] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/opampextension_add_http_polling_interval.yaml b/.chloggen/opampextension_add_http_polling_interval.yaml deleted file mode 100644 index c1549b8c4ed3..000000000000 --- a/.chloggen/opampextension_add_http_polling_interval.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: opampextension - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Adds the ability to configure the polling interval for the HTTP client. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34749] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/operator-silent-error.yaml b/.chloggen/operator-silent-errors.yaml similarity index 79% rename from .chloggen/operator-silent-error.yaml rename to .chloggen/operator-silent-errors.yaml index 2cb36f661db8..7db3d80b7ab1 100644 --- a/.chloggen/operator-silent-error.yaml +++ b/.chloggen/operator-silent-errors.yaml @@ -7,15 +7,17 @@ change_type: bug_fix component: pkg/stanza # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: An operator configured with silent errors shouldn't log errors while processing log entries. +note: Fixed bug causing Operators with DropOnErrorQuiet to send log entries to the next operator. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [35008] +issues: [35010] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. # Use pipe (|) for multiline entries. -subtext: +subtext: | + This issue was introduced by a bug fix meant to ensure Silent Operators are not logging errors (#35010). With this fix, + this side effect bug has been resolved. # If your change doesn't affect end users or the exported elements of any package, # you should instead start your pull request title with [chore] or use the "Skip Changelog" label. @@ -24,4 +26,4 @@ subtext: # Include 'user' if the change is relevant to end users. # Include 'api' if there is a change to a library API. # Default: '[user]' -change_logs: [] +change_logs: [] \ No newline at end of file diff --git a/.chloggen/prometheusexporter_createdtimestamp.yaml b/.chloggen/prometheusexporter_createdtimestamp.yaml deleted file mode 100644 index b09f0a7d6e09..000000000000 --- a/.chloggen/prometheusexporter_createdtimestamp.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: exporter/prometheusexpoter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Support for Prometheus Created Timestamps. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [32521] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] \ No newline at end of file diff --git a/.chloggen/add-decode-function.yaml b/.chloggen/receiver-otlpjsonfile-profiles.yaml similarity index 93% rename from .chloggen/add-decode-function.yaml rename to .chloggen/receiver-otlpjsonfile-profiles.yaml index 8bddaea308c8..897522257bed 100644 --- a/.chloggen/add-decode-function.yaml +++ b/.chloggen/receiver-otlpjsonfile-profiles.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: pkg/ottl +component: otlpjsonfilereceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Added Decode() converter function +note: Add support for profiles signal # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [32493] +issues: [35977] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/handle_unmarshall_error.yaml b/.chloggen/refactor-reader-header-reading.yaml similarity index 91% rename from .chloggen/handle_unmarshall_error.yaml rename to .chloggen/refactor-reader-header-reading.yaml index 1166a3d896e2..845e44be66e7 100644 --- a/.chloggen/handle_unmarshall_error.yaml +++ b/.chloggen/refactor-reader-header-reading.yaml @@ -1,16 +1,16 @@ # Use this changelog template to create an entry for release notes. # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: 'bug_fix' +change_type: bug_fix # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: otlpjsonconnector +component: receiver/filelog # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Handle OTLPJSON unmarshal error +note: fix record counting with header # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34782] +issues: [35869] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/refactoring_dimenssion_func_as_util_func.yaml b/.chloggen/refactoring_dimenssion_func_as_util_func.yaml deleted file mode 100644 index 4fda833ffb8a..000000000000 --- a/.chloggen/refactoring_dimenssion_func_as_util_func.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: exceptionsconnector,servicegraphconnector,spanmetricsconnector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Extract the `getDimensionValue` function as a common function. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34627] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] \ No newline at end of file diff --git a/.chloggen/ottl_statements_context_change_grammar.yaml b/.chloggen/remove_access_token_passthrough_from_sapm.yaml similarity index 79% rename from .chloggen/ottl_statements_context_change_grammar.yaml rename to .chloggen/remove_access_token_passthrough_from_sapm.yaml index ba582e9ac615..10d4fa2afdcc 100644 --- a/.chloggen/ottl_statements_context_change_grammar.yaml +++ b/.chloggen/remove_access_token_passthrough_from_sapm.yaml @@ -4,18 +4,21 @@ change_type: breaking # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: pkg/ottl +component: sapmreceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Change the OTTL grammar to support expressing statements context via path names" +note: "Remove the deprecated access_token_passthrough from SAPM receiver." # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [29017] +issues: [35972] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. # Use pipe (|) for multiline entries. -subtext: "The `ottl.Path` interface requires a new method: `Context() string`" +subtext: | + Please use `include_metadata` instead with the following config option applied to the batch processor: + batch: + metadata_keys: [X-Sf-Token] # If your change doesn't affect end users or the exported elements of any package, # you should instead start your pull request title with [chore] or use the "Skip Changelog" label. @@ -24,4 +27,4 @@ subtext: "The `ottl.Path` interface requires a new method: `Context() string`" # Include 'user' if the change is relevant to end users. # Include 'api' if there is a change to a library API. # Default: '[user]' -change_logs: [api] +change_logs: [] diff --git a/.chloggen/redaction-add-metrics-and-logs.yaml b/.chloggen/restart-journalctl.yaml similarity index 92% rename from .chloggen/redaction-add-metrics-and-logs.yaml rename to .chloggen/restart-journalctl.yaml index d4acba3f6889..b1b16da501c3 100644 --- a/.chloggen/redaction-add-metrics-and-logs.yaml +++ b/.chloggen/restart-journalctl.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: redactionprocessor +component: journaldreceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add support for logs and metrics +note: "Restart journalctl if it exits unexpectedly" # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34479] +issues: [35635] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/goleak_signalfxexp.yaml b/.chloggen/routing-tests-golden.yaml similarity index 90% rename from .chloggen/goleak_signalfxexp.yaml rename to .chloggen/routing-tests-golden.yaml index 6cb03bd5b113..2bfc50b3f64d 100644 --- a/.chloggen/goleak_signalfxexp.yaml +++ b/.chloggen/routing-tests-golden.yaml @@ -4,13 +4,13 @@ change_type: bug_fix # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: signalfxexporter +component: connector/routing # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix memory leak by re-organizing the exporter's functionality lifecycle +note: Fix detection of duplicate conditions in routing table. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [32781] +issues: [35962] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/ottl_sort_func.yaml b/.chloggen/signalfxexporter-add-k8s-default-metrics.yaml similarity index 89% rename from .chloggen/ottl_sort_func.yaml rename to .chloggen/signalfxexporter-add-k8s-default-metrics.yaml index 7b9d32749d9c..7cf8be0caf28 100644 --- a/.chloggen/ottl_sort_func.yaml +++ b/.chloggen/signalfxexporter-add-k8s-default-metrics.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: pkg/ottl +component: signalfxexporter # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add `Sort` function to sort array to ascending order or descending order +note: Add more default metrics related to Kubernetes cronjobs, jobs, statefulset, and hpa # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34200] +issues: [36026] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/mysqlreceiver-convert-null-to-int64.yaml b/.chloggen/solacereceiver_fix_span_count_nil_pointer_segfault.yaml similarity index 86% rename from .chloggen/mysqlreceiver-convert-null-to-int64.yaml rename to .chloggen/solacereceiver_fix_span_count_nil_pointer_segfault.yaml index a38be4d16545..a39e693c7549 100644 --- a/.chloggen/mysqlreceiver-convert-null-to-int64.yaml +++ b/.chloggen/solacereceiver_fix_span_count_nil_pointer_segfault.yaml @@ -4,13 +4,13 @@ change_type: bug_fix # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: mysqlreceiver +component: solacereceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: mysql client raise error when the TABLE_ROWS column is NULL, convert NULL to int64 +note: "The Solace receiver may unexpectedly terminate on reporting traces when used with a memory limiter processor and under high load" # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34195] +issues: [35958] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/feature_solarwindsapmsettingsetension-impl-2.yaml b/.chloggen/split-log-records.yaml similarity index 90% rename from .chloggen/feature_solarwindsapmsettingsetension-impl-2.yaml rename to .chloggen/split-log-records.yaml index f1fd9de27134..db61dd67953a 100644 --- a/.chloggen/feature_solarwindsapmsettingsetension-impl-2.yaml +++ b/.chloggen/split-log-records.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: solarwindsapmsettingsextension +component: connector/routing # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Added logic for refresh function +note: Add ability to route log records individually using OTTL log record context. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [27668] +issues: [19738] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/add-large-file-tests.yaml b/.chloggen/splunkenterprisereceiver-search-artifacts.yaml similarity index 91% rename from .chloggen/add-large-file-tests.yaml rename to .chloggen/splunkenterprisereceiver-search-artifacts.yaml index 9cee3a4a0ebc..0d3505e00dd6 100644 --- a/.chloggen/add-large-file-tests.yaml +++ b/.chloggen/splunkenterprisereceiver-search-artifacts.yaml @@ -4,13 +4,13 @@ change_type: enhancement # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: testbed +component: splunkenterprisereceiver # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add test case scenarios to handle large files to existing testbed. +note: Add new metrics for Splunk Enterprise dispatch artifacts # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34288] +issues: [35950] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. diff --git a/.chloggen/sqlqueryreceiver-logs-attrbutes.yaml b/.chloggen/sqlqueryreceiver-logs-attrbutes.yaml deleted file mode 100644 index 8c94e335a434..000000000000 --- a/.chloggen/sqlqueryreceiver-logs-attrbutes.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: sqlqueryreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Support populating log attributes from sql query - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [24459] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/stanley.liu_fix-logs-hostname.yaml b/.chloggen/stanley.liu_fix-logs-hostname.yaml deleted file mode 100644 index 8723972dba94..000000000000 --- a/.chloggen/stanley.liu_fix-logs-hostname.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: bug_fix - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: datadogexporter - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Use correct hostname for logs when using Datadog Agent logs pipeline with a gateway deployment. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [35058] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/fix-wrong-latency.yaml b/.chloggen/stanza-operators-retain.yaml similarity index 84% rename from .chloggen/fix-wrong-latency.yaml rename to .chloggen/stanza-operators-retain.yaml index 6d5351eeb863..4b596e618d35 100644 --- a/.chloggen/fix-wrong-latency.yaml +++ b/.chloggen/stanza-operators-retain.yaml @@ -4,18 +4,19 @@ change_type: bug_fix # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: servicegraphconnector +component: pkg/stanza/operator # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix incorrectly reversed latency settings for the server and client +note: Retain Operator should propagate the severity field # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34933] +issues: [35832] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. # Use pipe (|) for multiline entries. -subtext: +subtext: | + The retain operator should propagate the severity field like it does with timestamps. # If your change doesn't affect end users or the exported elements of any package, # you should instead start your pull request title with [chore] or use the "Skip Changelog" label. diff --git a/.chloggen/deltatocumulative-apitest.yaml b/.chloggen/stanza_handle_cb_errors.yaml similarity index 74% rename from .chloggen/deltatocumulative-apitest.yaml rename to .chloggen/stanza_handle_cb_errors.yaml index cc5f5fa95774..7dac0e708090 100644 --- a/.chloggen/deltatocumulative-apitest.yaml +++ b/.chloggen/stanza_handle_cb_errors.yaml @@ -4,19 +4,22 @@ change_type: bug_fix # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: deltatocumulative +component: pkg/stanza # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: drop bad samples +note: Handle error of callback function of `ParserOperator.ProcessWithCallback` # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34979] +issues: [35769] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. # Use pipe (|) for multiline entries. subtext: | - removes bad (rejected) samples from output. previously identified and metric-tracked those as such, but didn't actually drop them. + `ProcessWithCallback` of `ParserOperator` first calls the `ParseWith` method + which properly handles errors with `HandleEntryError`. + Then the callback function is called and its returned error should also + be handled by the `HandleEntryError` ensuring a consistent experience. # If your change doesn't affect end users or the exported elements of any package, # you should instead start your pull request title with [chore] or use the "Skip Changelog" label. diff --git a/.chloggen/supervisor-healthcheck-port-configurable.yaml b/.chloggen/supervisor-healthcheck-port-configurable.yaml deleted file mode 100644 index e0e137835d0a..000000000000 --- a/.chloggen/supervisor-healthcheck-port-configurable.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: opampsupervisor - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Add new config parameter `agent.health_check_port` to allow configuring the port used by the agent healthcheck extension." - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34643] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [] diff --git a/.chloggen/refactor-target-allocator.yaml b/.chloggen/testbed_proc_order_fix.yaml similarity index 78% rename from .chloggen/refactor-target-allocator.yaml rename to .chloggen/testbed_proc_order_fix.yaml index ea632a87843a..097e6f84d0c8 100644 --- a/.chloggen/refactor-target-allocator.yaml +++ b/.chloggen/testbed_proc_order_fix.yaml @@ -4,18 +4,20 @@ change_type: breaking # The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: prometheusreceiver +component: testbed # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Move the TargetAllocator configuration struct to an internal directory +note: "`scenarios.createConfigYaml()` and `utils.CreateConfigYaml()` functions now take processor configs as a struct slice argument instead of `map[string]string`." # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [33146] +issues: [33003] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. # Use pipe (|) for multiline entries. -subtext: +subtext: | + - This is to preserve processor order. `ProcessorNameAndConfigBody` is the newly created struct. + # If your change doesn't affect end users or the exported elements of any package, # you should instead start your pull request title with [chore] or use the "Skip Changelog" label. diff --git a/.chloggen/vcenter-unit-update.yaml b/.chloggen/vcenter-unit-update.yaml deleted file mode 100644 index 3abf1dfa0b62..000000000000 --- a/.chloggen/vcenter-unit-update.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Use this changelog template to create an entry for release notes. - -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: breaking - -# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) -component: vcenterreceiver - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Updated units on several metrics to be more in line with documented semantics. - -# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [34946] - -# (Optional) One or more lines of additional information to render under the primary note. -# These lines will be padded with 2 spaces and then inserted directly into the document. -# Use pipe (|) for multiline entries. -subtext: | - The following are the metrics with their respective unit changes: - - vcenter.datacenter.cpu.limit ({MHz} -> MHz) - - vcenter.cluster.cpu.limit ({MHz} -> MHz) - - vcenter.cluster.cpu.effective ({MHz} -> MHz) - - vcenter.cluster.vsan.operations ({operations/sec} -> {operations/s}) - - vcenter.cluster.vsan.congestions ({congestions/sec} -> {congestions/s}) - - vcenter.host.network.packet.error.rate ({errors/sec} -> {errors/s}) - - vcenter.host.network.packet.rate ({packets/sec} -> {packets/s}) - - vcenter.host.network.packet.drop.rate ({packets/sec} -> {packets/s}) - - vcenter.host.vsan.operations ({operations/sec} -> {operations/s}) - - vcenter.host.vsan.congestions ({congestions/sec} -> {congestions/s}) - - vcenter.resource_pool.cpu.usage ({MHz} -> MHz) - - vcenter.vm.network.throughput (By/sec -> By/s) - - vcenter.vm.network.packet.rate ({packets/sec} -> {packets/s}) - - vcenter.vm.vsan.operations ({operations/sec} -> {operations/s}) - -# If your change doesn't affect end users or the exported elements of any package, -# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. -# Optional: The change log or logs in which this entry should be included. -# e.g. '[user]' or '[user, api]' -# Include 'user' if the change is relevant to end users. -# Include 'api' if there is a change to a library API. -# Default: '[user]' -change_logs: [user] diff --git a/.chloggen/webhooks-event-receiver.yaml b/.chloggen/webhooks-event-receiver.yaml new file mode 100644 index 000000000000..f81a14337912 --- /dev/null +++ b/.chloggen/webhooks-event-receiver.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: bug_fix + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: webhookeventreceiver + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Pass the consumer error to EndLogsOp + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [35844] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [] diff --git a/.github/ALLOWLIST b/.github/ALLOWLIST index f39842ae30f4..bf507594e881 100644 --- a/.github/ALLOWLIST +++ b/.github/ALLOWLIST @@ -24,4 +24,3 @@ internal/common ## DEPRECATED components ## UNMAINTAINED components -receiver/googlecloudspannerreceiver/ diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a16109ac225d..39b693a84be9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -21,6 +21,7 @@ cmd/otelcontribcol/ @open-teleme cmd/oteltestbedcol/ @open-telemetry/collector-contrib-approvers cmd/telemetrygen/ @open-telemetry/collector-contrib-approvers @mx-psi @codeboten +confmap/provider/aesprovider/ @open-telemetry/collector-contrib-approvers @djaglowski @shazlehu confmap/provider/s3provider/ @open-telemetry/collector-contrib-approvers @Aneurysm9 confmap/provider/secretsmanagerprovider/ @open-telemetry/collector-contrib-approvers @driverpt @atoulme @@ -54,14 +55,13 @@ exporter/coralogixexporter/ @open-teleme exporter/datadogexporter/ @open-telemetry/collector-contrib-approvers @mx-psi @dineshg13 @liustanley @songy23 @mackjmr @ankitpatel96 exporter/datasetexporter/ @open-telemetry/collector-contrib-approvers @atoulme @martin-majlis-s1 @zdaratom-s1 @tomaz-s1 exporter/dorisexporter/ @open-telemetry/collector-contrib-approvers @atoulme @joker-star-l -exporter/elasticsearchexporter/ @open-telemetry/collector-contrib-approvers @JaredTan95 @ycombinator @carsonip +exporter/elasticsearchexporter/ @open-telemetry/collector-contrib-approvers @JaredTan95 @carsonip @lahsivjar exporter/fileexporter/ @open-telemetry/collector-contrib-approvers @atingchen exporter/googlecloudexporter/ @open-telemetry/collector-contrib-approvers @aabmass @dashpole @jsuereth @punya @damemi @psx95 exporter/googlecloudpubsubexporter/ @open-telemetry/collector-contrib-approvers @alexvanboxel exporter/googlemanagedprometheusexporter/ @open-telemetry/collector-contrib-approvers @aabmass @dashpole @jsuereth @punya @damemi @psx95 exporter/honeycombmarkerexporter/ @open-telemetry/collector-contrib-approvers @TylerHelmuth @fchikwekwe exporter/influxdbexporter/ @open-telemetry/collector-contrib-approvers @jacobmarble -exporter/instanaexporter/ @open-telemetry/collector-contrib-approvers @jpkrohling @hickeyma exporter/kafkaexporter/ @open-telemetry/collector-contrib-approvers @pavolloffay @MovieStoreGuy exporter/kineticaexporter/ @open-telemetry/collector-contrib-approvers @am-kinetica @TylerHelmuth exporter/loadbalancingexporter/ @open-telemetry/collector-contrib-approvers @jpkrohling @@ -101,16 +101,16 @@ extension/googleclientauthextension/ @open-teleme extension/headerssetterextension/ @open-telemetry/collector-contrib-approvers @jpkrohling extension/healthcheckextension/ @open-telemetry/collector-contrib-approvers @jpkrohling extension/healthcheckv2extension/ @open-telemetry/collector-contrib-approvers @jpkrohling @mwear -extension/httpforwarderextension/ @open-telemetry/collector-contrib-approvers @atoulme @rmfitzpatrick +extension/httpforwarderextension/ @open-telemetry/collector-contrib-approvers @atoulme extension/jaegerremotesampling/ @open-telemetry/collector-contrib-approvers @yurishkuro @frzifus extension/oauth2clientauthextension/ @open-telemetry/collector-contrib-approvers @pavankrish123 @jpkrohling -extension/observer/ @open-telemetry/collector-contrib-approvers @dmitryax @rmfitzpatrick +extension/observer/ @open-telemetry/collector-contrib-approvers @dmitryax extension/observer/cfgardenobserver/ @open-telemetry/collector-contrib-approvers @crobert-1 @cemdk @tomasmota @m1rp @jriguera extension/observer/dockerobserver/ @open-telemetry/collector-contrib-approvers @MovieStoreGuy -extension/observer/ecsobserver/ @open-telemetry/collector-contrib-approvers @dmitryax @rmfitzpatrick -extension/observer/ecstaskobserver/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick +extension/observer/ecsobserver/ @open-telemetry/collector-contrib-approvers @dmitryax +extension/observer/ecstaskobserver/ @open-telemetry/collector-contrib-approvers extension/observer/hostobserver/ @open-telemetry/collector-contrib-approvers @MovieStoreGuy -extension/observer/k8sobserver/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick @dmitryax +extension/observer/k8sobserver/ @open-telemetry/collector-contrib-approvers @dmitryax @ChrsMark extension/oidcauthextension/ @open-telemetry/collector-contrib-approvers @jpkrohling extension/opampcustommessages/ @open-telemetry/collector-contrib-approvers @BinaryFissionGames @evan-bradley extension/opampextension/ @open-telemetry/collector-contrib-approvers @portertech @evan-bradley @tigrannajaryan @BinaryFissionGames @@ -127,7 +127,7 @@ extension/sumologicextension/ @open-teleme internal/aws/ @open-telemetry/collector-contrib-approvers @Aneurysm9 @mxiamxia internal/collectd/ @open-telemetry/collector-contrib-approvers @atoulme internal/coreinternal/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers -internal/docker/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick @jamesmoessis +internal/docker/ @open-telemetry/collector-contrib-approvers @jamesmoessis @MovieStoreGuy internal/exp/metrics/ @open-telemetry/collector-contrib-approvers @sh0rez @RichieSams internal/filter/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers internal/grpcutil/ @open-telemetry/collector-contrib-approvers @jmacd @moh-osman3 @lquerel @@ -146,8 +146,10 @@ internal/tools/ @open-teleme pkg/batchperresourceattr/ @open-telemetry/collector-contrib-approvers @atoulme @dmitryax pkg/batchpersignal/ @open-telemetry/collector-contrib-approvers @jpkrohling -pkg/experimentalmetricmetadata/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick +pkg/datadog/ @open-telemetry/collector-contrib-approvers @mx-psi @dineshg13 @liustanley @songy23 @mackjmr @ankitpatel96 +pkg/experimentalmetricmetadata/ @open-telemetry/collector-contrib-approvers @dmitryax pkg/golden/ @open-telemetry/collector-contrib-approvers @djaglowski @atoulme +pkg/kafka/topic/ @open-telemetry/collector-contrib-approvers @pavolloffay @MovieStoreGuy pkg/ottl/ @open-telemetry/collector-contrib-approvers @TylerHelmuth @kentquirk @bogdandrutu @evan-bradley pkg/pdatatest/ @open-telemetry/collector-contrib-approvers @djaglowski @fatsheep9146 pkg/pdatautil/ @open-telemetry/collector-contrib-approvers @dmitryax @@ -155,7 +157,9 @@ pkg/resourcetotelemetry/ @open-teleme pkg/sampling/ @open-telemetry/collector-contrib-approvers @kentquirk @jmacd pkg/stanza/ @open-telemetry/collector-contrib-approvers @djaglowski pkg/stanza/fileconsumer/ @open-telemetry/collector-contrib-approvers @djaglowski +pkg/status/ @open-telemetry/collector-contrib-approvers @jpkrohling @mwear pkg/translator/azure/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers @atoulme @cparkins +pkg/translator/azurelogs/ @open-telemetry/collector-contrib-approvers @atoulme @cparkins @MikeGoldsmith pkg/translator/jaeger/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers @frzifus pkg/translator/loki/ @open-telemetry/collector-contrib-approvers @gouthamve @jpkrohling @mar4uk pkg/translator/opencensus/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers @@ -176,7 +180,7 @@ processor/geoipprocessor/ @open-teleme processor/groupbyattrsprocessor/ @open-telemetry/collector-contrib-approvers @rnishtala-sumo processor/groupbytraceprocessor/ @open-telemetry/collector-contrib-approvers @jpkrohling processor/intervalprocessor/ @open-telemetry/collector-contrib-approvers @RichieSams @sh0rez @djaglowski -processor/k8sattributesprocessor/ @open-telemetry/collector-contrib-approvers @dmitryax @rmfitzpatrick @fatsheep9146 @TylerHelmuth +processor/k8sattributesprocessor/ @open-telemetry/collector-contrib-approvers @dmitryax @fatsheep9146 @TylerHelmuth processor/logdedupprocessor/ @open-telemetry/collector-contrib-approvers @BinaryFissionGames @MikeGoldsmith @djaglowski processor/logstransformprocessor/ @open-telemetry/collector-contrib-approvers @djaglowski @dehaansa processor/metricsgenerationprocessor/ @open-telemetry/collector-contrib-approvers @Aneurysm9 @@ -229,7 +233,7 @@ receiver/cloudfoundryreceiver/ @open-teleme receiver/collectdreceiver/ @open-telemetry/collector-contrib-approvers @atoulme receiver/couchdbreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/datadogreceiver/ @open-telemetry/collector-contrib-approvers @boostchicken @gouthamve @jpkrohling @MovieStoreGuy -receiver/dockerstatsreceiver/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick @jamesmoessis +receiver/dockerstatsreceiver/ @open-telemetry/collector-contrib-approvers @jamesmoessis receiver/elasticsearchreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @BinaryFissionGames receiver/expvarreceiver/ @open-telemetry/collector-contrib-approvers @jamesmoessis @MovieStoreGuy receiver/filelogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @@ -245,7 +249,7 @@ receiver/httpcheckreceiver/ @open-teleme receiver/iisreceiver/ @open-telemetry/collector-contrib-approvers @Mrod1598 @pjanotti receiver/influxdbreceiver/ @open-telemetry/collector-contrib-approvers @jacobmarble receiver/jaegerreceiver/ @open-telemetry/collector-contrib-approvers @yurishkuro -receiver/jmxreceiver/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick +receiver/jmxreceiver/ @open-telemetry/collector-contrib-approvers receiver/journaldreceiver/ @open-telemetry/collector-contrib-approvers @sumo-drosiek @djaglowski receiver/k8sclusterreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @TylerHelmuth @povilasv receiver/k8seventsreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @TylerHelmuth @@ -261,6 +265,7 @@ receiver/mysqlreceiver/ @open-teleme receiver/namedpipereceiver/ @open-telemetry/collector-contrib-approvers @sinkingpoint @djaglowski receiver/nginxreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/nsxtreceiver/ @open-telemetry/collector-contrib-approvers @dashpole @schmikei +receiver/ntpreceiver/ @open-telemetry/collector-contrib-approvers @atoulme receiver/opencensusreceiver/ @open-telemetry/collector-contrib-approvers @open-telemetry/collector-approvers receiver/oracledbreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @crobert-1 @atoulme receiver/osqueryreceiver/ @open-telemetry/collector-contrib-approvers @codeboten @nslaughter @smithclay @@ -269,11 +274,12 @@ receiver/otlpjsonfilereceiver/ @open-teleme receiver/podmanreceiver/ @open-telemetry/collector-contrib-approvers @rogercoll receiver/postgresqlreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/prometheusreceiver/ @open-telemetry/collector-contrib-approvers @Aneurysm9 @dashpole +receiver/prometheusremotewritereceiver/ @open-telemetry/collector-contrib-approvers @dashpole @ArthurSens receiver/pulsarreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @dao-jun receiver/purefareceiver/ @open-telemetry/collector-contrib-approvers @jpkrohling @dgoscn @chrroberts-pure receiver/purefbreceiver/ @open-telemetry/collector-contrib-approvers @jpkrohling @dgoscn @chrroberts-pure receiver/rabbitmqreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @cpheps -receiver/receivercreator/ @open-telemetry/collector-contrib-approvers @rmfitzpatrick +receiver/receivercreator/ @open-telemetry/collector-contrib-approvers @dmitryax receiver/redisreceiver/ @open-telemetry/collector-contrib-approvers @dmitryax @hughesjj receiver/riakreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @armstrmi receiver/saphanareceiver/ @open-telemetry/collector-contrib-approvers @dehaansa @@ -291,7 +297,9 @@ receiver/sqlserverreceiver/ @open-teleme receiver/sshcheckreceiver/ @open-telemetry/collector-contrib-approvers @nslaughter @codeboten receiver/statsdreceiver/ @open-telemetry/collector-contrib-approvers @jmacd @dmitryax receiver/syslogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @andrzej-stencel +receiver/systemdreceiver/ @open-telemetry/collector-contrib-approvers @Hemansh31 @atoulme receiver/tcplogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski +receiver/tlscheckreceiver/ @open-telemetry/collector-contrib-approvers @atoulme @michael-burt receiver/udplogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/vcenterreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @schmikei @StefanKurek receiver/wavefrontreceiver/ @open-telemetry/collector-contrib-approvers @samiura @@ -311,8 +319,8 @@ testbed/mockdatasenders/mockdatadogagentexporter/ @open-teleme ##################################################### reports/distributions/core.yaml @open-telemetry/collector-contrib-approvers reports/distributions/contrib.yaml @open-telemetry/collector-contrib-approvers +reports/distributions/k8s.yaml @open-telemetry/collector-contrib-approvers ## UNMAINTAINED components -receiver/googlecloudspannerreceiver/ @open-telemetry/collector-contrib-approvers diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 5374e66a9a89..0433fefe27b2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -23,6 +23,7 @@ body: - cmd/otelcontribcol - cmd/oteltestbedcol - cmd/telemetrygen + - confmap/provider/aesprovider - confmap/provider/s3provider - confmap/provider/secretsmanagerprovider - connector/count @@ -60,7 +61,6 @@ body: - exporter/googlemanagedprometheus - exporter/honeycombmarker - exporter/influxdb - - exporter/instana - exporter/kafka - exporter/kinetica - exporter/loadbalancing @@ -142,8 +142,10 @@ body: - internal/tools - pkg/batchperresourceattr - pkg/batchpersignal + - pkg/datadog - pkg/experimentalmetricmetadata - pkg/golden + - pkg/kafka/topic - pkg/ottl - pkg/pdatatest - pkg/pdatautil @@ -151,7 +153,9 @@ body: - pkg/sampling - pkg/stanza - pkg/stanza/fileconsumer + - pkg/status - pkg/translator/azure + - pkg/translator/azurelogs - pkg/translator/jaeger - pkg/translator/loki - pkg/translator/opencensus @@ -233,7 +237,6 @@ body: - receiver/github - receiver/googlecloudmonitoring - receiver/googlecloudpubsub - - receiver/googlecloudspanner - receiver/haproxy - receiver/hostmetrics - receiver/httpcheck @@ -256,6 +259,7 @@ body: - receiver/namedpipe - receiver/nginx - receiver/nsxt + - receiver/ntp - receiver/opencensus - receiver/oracledb - receiver/osquery @@ -264,6 +268,7 @@ body: - receiver/podman - receiver/postgresql - receiver/prometheus + - receiver/prometheusremotewrite - receiver/pulsar - receiver/purefa - receiver/purefb @@ -286,7 +291,9 @@ body: - receiver/sshcheck - receiver/statsd - receiver/syslog + - receiver/systemd - receiver/tcplog + - receiver/tlscheck - receiver/udplog - receiver/vcenter - receiver/wavefront diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index cbaad5acb6ee..ae3465dfba4a 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -17,6 +17,7 @@ body: - cmd/otelcontribcol - cmd/oteltestbedcol - cmd/telemetrygen + - confmap/provider/aesprovider - confmap/provider/s3provider - confmap/provider/secretsmanagerprovider - connector/count @@ -54,7 +55,6 @@ body: - exporter/googlemanagedprometheus - exporter/honeycombmarker - exporter/influxdb - - exporter/instana - exporter/kafka - exporter/kinetica - exporter/loadbalancing @@ -136,8 +136,10 @@ body: - internal/tools - pkg/batchperresourceattr - pkg/batchpersignal + - pkg/datadog - pkg/experimentalmetricmetadata - pkg/golden + - pkg/kafka/topic - pkg/ottl - pkg/pdatatest - pkg/pdatautil @@ -145,7 +147,9 @@ body: - pkg/sampling - pkg/stanza - pkg/stanza/fileconsumer + - pkg/status - pkg/translator/azure + - pkg/translator/azurelogs - pkg/translator/jaeger - pkg/translator/loki - pkg/translator/opencensus @@ -227,7 +231,6 @@ body: - receiver/github - receiver/googlecloudmonitoring - receiver/googlecloudpubsub - - receiver/googlecloudspanner - receiver/haproxy - receiver/hostmetrics - receiver/httpcheck @@ -250,6 +253,7 @@ body: - receiver/namedpipe - receiver/nginx - receiver/nsxt + - receiver/ntp - receiver/opencensus - receiver/oracledb - receiver/osquery @@ -258,6 +262,7 @@ body: - receiver/podman - receiver/postgresql - receiver/prometheus + - receiver/prometheusremotewrite - receiver/pulsar - receiver/purefa - receiver/purefb @@ -280,7 +285,9 @@ body: - receiver/sshcheck - receiver/statsd - receiver/syslog + - receiver/systemd - receiver/tcplog + - receiver/tlscheck - receiver/udplog - receiver/vcenter - receiver/wavefront diff --git a/.github/ISSUE_TEMPLATE/new_component.yaml b/.github/ISSUE_TEMPLATE/new_component.yaml index 08d424f1e2db..fd410e5e5481 100644 --- a/.github/ISSUE_TEMPLATE/new_component.yaml +++ b/.github/ISSUE_TEMPLATE/new_component.yaml @@ -21,28 +21,18 @@ body: description: Any combination of traces, metrics and/or logs is valid here. validations: required: true - - type: checkboxes - attributes: - label: Is this a vendor-specific component? - description: A vendor-specific component directly interfaces with a vendor-specific API and is expected to be maintained by a representative of the same vendor. - options: - - label: This is a vendor-specific component - - label: If this is a vendor-specific component, I am a member of the OpenTelemetry organization. - - label: If this is a vendor-specific component, I am proposing to contribute and support it as a representative of the vendor. - type: input attributes: label: Code Owner(s) description: A code owner is responsible for supporting the component, including triaging issues, reviewing PRs, and submitting bug fixes. Please list one or more members or aspiring members of the OpenTelemetry project who will serve as code owners. - For vendor-specific components, the code owner is required and must be a representative of the vendor. - For non-vendor components, having a code owner is strongly recommended. However, you may use the issue to try to find a code owner for your component. + Having a code owner is strongly recommended. However, you may use the issue to try to find a code owner for your component. - type: input attributes: label: Sponsor (optional) description: "A sponsor is an approver who will be in charge of being the official reviewer of the code. - For vendor-specific components, it's good to have a volunteer sponsor. If you can't find one, we'll assign one in a round-robin fashion. - For non-vendor components, having a sponsor means that your use-case has been validated. - If there are no sponsors yet for the component, it's fine: use the issue as a means to try to find a sponsor for your component." + Having a sponsor means that your use-case has been validated. If there are no sponsors yet for the component, + it's fine: use the issue as a means to try to find a sponsor for your component. If you are unable to find a sponsor, the component can still live in your own source repository and can be included in Collector distributions using the Collector builder." - type: textarea attributes: label: Additional context diff --git a/.github/ISSUE_TEMPLATE/other.yaml b/.github/ISSUE_TEMPLATE/other.yaml index 2bb37ab37089..183a5e514639 100644 --- a/.github/ISSUE_TEMPLATE/other.yaml +++ b/.github/ISSUE_TEMPLATE/other.yaml @@ -17,6 +17,7 @@ body: - cmd/otelcontribcol - cmd/oteltestbedcol - cmd/telemetrygen + - confmap/provider/aesprovider - confmap/provider/s3provider - confmap/provider/secretsmanagerprovider - connector/count @@ -54,7 +55,6 @@ body: - exporter/googlemanagedprometheus - exporter/honeycombmarker - exporter/influxdb - - exporter/instana - exporter/kafka - exporter/kinetica - exporter/loadbalancing @@ -136,8 +136,10 @@ body: - internal/tools - pkg/batchperresourceattr - pkg/batchpersignal + - pkg/datadog - pkg/experimentalmetricmetadata - pkg/golden + - pkg/kafka/topic - pkg/ottl - pkg/pdatatest - pkg/pdatautil @@ -145,7 +147,9 @@ body: - pkg/sampling - pkg/stanza - pkg/stanza/fileconsumer + - pkg/status - pkg/translator/azure + - pkg/translator/azurelogs - pkg/translator/jaeger - pkg/translator/loki - pkg/translator/opencensus @@ -227,7 +231,6 @@ body: - receiver/github - receiver/googlecloudmonitoring - receiver/googlecloudpubsub - - receiver/googlecloudspanner - receiver/haproxy - receiver/hostmetrics - receiver/httpcheck @@ -250,6 +253,7 @@ body: - receiver/namedpipe - receiver/nginx - receiver/nsxt + - receiver/ntp - receiver/opencensus - receiver/oracledb - receiver/osquery @@ -258,6 +262,7 @@ body: - receiver/podman - receiver/postgresql - receiver/prometheus + - receiver/prometheusremotewrite - receiver/pulsar - receiver/purefa - receiver/purefb @@ -280,7 +285,9 @@ body: - receiver/sshcheck - receiver/statsd - receiver/syslog + - receiver/systemd - receiver/tcplog + - receiver/tlscheck - receiver/udplog - receiver/vcenter - receiver/wavefront diff --git a/.github/ISSUE_TEMPLATE/unmaintained.yaml b/.github/ISSUE_TEMPLATE/unmaintained.yaml index 55b55fd1b45c..2ecfeb2eccd4 100644 --- a/.github/ISSUE_TEMPLATE/unmaintained.yaml +++ b/.github/ISSUE_TEMPLATE/unmaintained.yaml @@ -22,6 +22,7 @@ body: - cmd/otelcontribcol - cmd/oteltestbedcol - cmd/telemetrygen + - confmap/provider/aesprovider - confmap/provider/s3provider - confmap/provider/secretsmanagerprovider - connector/count @@ -59,7 +60,6 @@ body: - exporter/googlemanagedprometheus - exporter/honeycombmarker - exporter/influxdb - - exporter/instana - exporter/kafka - exporter/kinetica - exporter/loadbalancing @@ -141,8 +141,10 @@ body: - internal/tools - pkg/batchperresourceattr - pkg/batchpersignal + - pkg/datadog - pkg/experimentalmetricmetadata - pkg/golden + - pkg/kafka/topic - pkg/ottl - pkg/pdatatest - pkg/pdatautil @@ -150,7 +152,9 @@ body: - pkg/sampling - pkg/stanza - pkg/stanza/fileconsumer + - pkg/status - pkg/translator/azure + - pkg/translator/azurelogs - pkg/translator/jaeger - pkg/translator/loki - pkg/translator/opencensus @@ -232,7 +236,6 @@ body: - receiver/github - receiver/googlecloudmonitoring - receiver/googlecloudpubsub - - receiver/googlecloudspanner - receiver/haproxy - receiver/hostmetrics - receiver/httpcheck @@ -255,6 +258,7 @@ body: - receiver/namedpipe - receiver/nginx - receiver/nsxt + - receiver/ntp - receiver/opencensus - receiver/oracledb - receiver/osquery @@ -263,6 +267,7 @@ body: - receiver/podman - receiver/postgresql - receiver/prometheus + - receiver/prometheusremotewrite - receiver/pulsar - receiver/purefa - receiver/purefb @@ -285,7 +290,9 @@ body: - receiver/sshcheck - receiver/statsd - receiver/syslog + - receiver/systemd - receiver/tcplog + - receiver/tlscheck - receiver/udplog - receiver/vcenter - receiver/wavefront diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml index d6c34b2edfee..6c48102bd729 100644 --- a/.github/auto_assign.yml +++ b/.github/auto_assign.yml @@ -12,7 +12,7 @@ assigneeGroups: approvers_maintainers: # Approvers - atoulme - - crobert-1 + # - crobert-1 on leave - dashpole - mwear - songy23 @@ -23,8 +23,7 @@ assigneeGroups: - codeboten - djaglowski - dmitryax - # Unavailable 2024-08-12 -- 2024-08-23, 2024-09-06 -- 2024-09-30 - # - evan-bradley + - evan-bradley - jpkrohling - MovieStoreGuy - mx-psi diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index ba32818178e3..ac7757886027 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,9 +1,15 @@ -**Description:** +#### Description -**Link to tracking Issue:** + +#### Link to tracking issue +Fixes -**Testing:** + +#### Testing -**Documentation:** \ No newline at end of file + +#### Documentation + + diff --git a/.github/workflows/build-and-test-arm.yml b/.github/workflows/build-and-test-arm.yml index f109e8e1664c..285a79e222aa 100644 --- a/.github/workflows/build-and-test-arm.yml +++ b/.github/workflows/build-and-test-arm.yml @@ -26,7 +26,6 @@ jobs: strategy: fail-fast: false matrix: - os: [otel-linux-arm64, macos-14] group: - receiver-0 - receiver-1 @@ -46,7 +45,7 @@ jobs: - cmd-1 - other timeout-minutes: 30 - runs-on: ${{ matrix.os }} + runs-on: otel-linux-arm64 steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 @@ -61,7 +60,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod - key: go-build-cache-${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + key: go-build-cache-otel-linux-arm64-go-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' run: make -j2 gomoddownload diff --git a/.github/workflows/build-and-test-darwin.yaml b/.github/workflows/build-and-test-darwin.yaml new file mode 100644 index 000000000000..6ae971b84192 --- /dev/null +++ b/.github/workflows/build-and-test-darwin.yaml @@ -0,0 +1,100 @@ +name: build-and-test-darwin +on: + push: + branches: [main] + tags: + - "v[0-9]+.[0-9]+.[0-9]+*" + merge_group: + pull_request: + types: [opened, synchronize, reopened, labeled, unlabeled] + branches: + - main +env: + TEST_RESULTS: testbed/tests/results/junit/results.xml + # Make sure to exit early if cache segment download times out after 2 minutes. + # We limit cache download as a whole to 5 minutes. + SEGMENT_DOWNLOAD_TIMEOUT_MINS: 2 + +# Do not cancel this workflow on main. See https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/16616 +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + darwin-build-unittest-binary: + if: ${{ github.actor != 'dependabot[bot]' && (contains(github.event.pull_request.labels.*.name, 'Run Darwin') || github.event_name == 'push' || github.event_name == 'merge_group') }} + runs-on: macos-14 + timeout-minutes: 120 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: "~1.22.5" + cache: false + - name: Cache Go + id: go-cache + timeout-minutes: 5 + uses: actions/cache@v4 + with: + path: | + ~/go/bin + ~/go/pkg/mod + key: go-build-cache-${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + - name: Install dependencies + if: steps.go-cache.outputs.cache-hit != 'true' + run: make -j2 gomoddownload + - name: Install Tools + if: steps.go-cache.outputs.cache-hit != 'true' + run: make install-tools + - name: Build test binaries + env: + GOTESTARCH: amd64 + run: make gobuildtest GROUP=cgo + - name: Zip test binaries + run: zip -r testbinaries.zip . --include \*builtunitetest.test + - uses: actions/upload-artifact@v4 + with: + name: testbinaries + path: ./testbinaries.zip + retention-days: 1 + darwin-unittest-matrix: + if: ${{ github.actor != 'dependabot[bot]' && (contains(github.event.pull_request.labels.*.name, 'Run Darwin') || github.event_name == 'push' || github.event_name == 'merge_group') }} + needs: [darwin-build-unittest-binary] + strategy: + fail-fast: false + matrix: + os: [macos-12, macos-13] + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: "~1.22.5" + cache: false + - name: Install Tools + if: steps.go-cache.outputs.cache-hit != 'true' + run: make install-tools + - uses: actions/download-artifact@v4 + with: + name: testbinaries + - name: Unzip binaries to each module + run: unzip testbinaries.zip + - name: Run Unit Tests + run: make -j2 gorunbuilttest GROUP=cgo + darwin-unittest: + if: ${{ github.actor != 'dependabot[bot]' && (contains(github.event.pull_request.labels.*.name, 'Run Darwin') || github.event_name == 'push' || github.event_name == 'merge_group') }} + runs-on: macos-latest + needs: [darwin-unittest-matrix] + steps: + - name: Print result + run: echo ${{ needs.darwin-unittest-matrix.result }} + - name: Interpret result + run: | + if [[ success == ${{ needs.darwin-unittest-matrix.result }} ]] + then + echo "All matrix jobs passed!" + else + echo "One or more matrix jobs failed." + false + fi diff --git a/.github/workflows/build-and-test-windows.yml b/.github/workflows/build-and-test-windows.yml index e8b469c413a2..dafbfe3838a8 100644 --- a/.github/workflows/build-and-test-windows.yml +++ b/.github/workflows/build-and-test-windows.yml @@ -58,7 +58,7 @@ jobs: run: Install-WindowsFeature -name Web-Server -IncludeManagementTools - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-mod-cache @@ -72,6 +72,11 @@ jobs: - name: Ensure required ports in the dynamic range are available run: | & ${{ github.workspace }}\.github\workflows\scripts\win-required-ports.ps1 + - name: Build shared test tools + # If component tests share Makefile targets they need to be added here to avoid + # concurrent component tests clashing when building such targets. This applies + # specifically to Windows, see https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/34691 + run: make "$(${PWD} -replace '\\', '/')/.tools/gotestsum" - name: Run Unit tests run: make -j2 gotest GROUP=${{ matrix.group }} windows-unittest: diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index e14ab4dff770..ae5bcac79ed5 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -36,6 +36,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -48,6 +49,7 @@ jobs: needs: [setup-environment] steps: - uses: actions/checkout@v4 + - run: make genotelcontribcol - name: Check Collector Module Version run: ./.github/workflows/scripts/check-collector-module-version.sh check-codeowners: @@ -92,7 +94,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -102,6 +104,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -161,7 +164,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -171,6 +174,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install Tools if: steps.go-cache.outputs.cache-hit != 'true' @@ -184,7 +188,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -194,6 +198,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -201,6 +206,7 @@ jobs: - name: Install Tools if: steps.go-cache.outputs.cache-hit != 'true' run: make install-tools + - run: make genotelcontribcol - name: CheckDoc run: make checkdoc - name: CheckMetadata @@ -219,14 +225,6 @@ jobs: run: | make gotidy git diff --exit-code || (echo 'go.mod/go.sum deps changes detected, please run "make gotidy" and commit the changes in this PR.' && exit 1) - - name: Gen genotelcontribcol - run: | - make genotelcontribcol - git diff -s --exit-code || (echo 'Generated code is out of date, please run "make genotelcontribcol" and commit the changes in this PR.' && exit 1) - - name: Gen genoteltestbedcol - run: | - make genoteltestbedcol - git diff -s --exit-code || (echo 'Generated code is out of date, please run "make genoteltestbedcol" and commit the changes in this PR.' && exit 1) - name: Gen distributions run: | make gendistributions @@ -253,7 +251,7 @@ jobs: strategy: fail-fast: false matrix: - go-version: ["1.23.0", "1.22.7"] # 1.20 is interpreted as 1.2 without quotes + go-version: ["1.23.0", "1.22.8"] # 1.20 is interpreted as 1.2 without quotes runner: [ubuntu-latest] group: - receiver-0 @@ -289,6 +287,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -338,7 +337,7 @@ jobs: merge-multiple: true pattern: coverage-artifacts-* - name: Upload coverage report - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # 4.5.0 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # 4.6.0 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} @@ -369,7 +368,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -379,6 +378,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Run Integration Tests run: make gointegration-test GROUP=${{ matrix.group }} @@ -407,7 +407,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -417,6 +417,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -433,7 +434,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -443,6 +444,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -458,6 +460,7 @@ jobs: needs: [setup-environment] steps: - uses: actions/checkout@v4 + - run: make genotelcontribcol - name: Build Examples run: make build-examples @@ -503,7 +506,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -513,6 +516,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -520,6 +524,8 @@ jobs: - name: Install Tools if: steps.go-cache.outputs.cache-hit != 'true' run: make install-tools + - name: Generate collector files + run: make genotelcontribcol - name: Build Collector ${{ matrix.binary }} run: make GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} GOARM=${{ matrix.arm }} otelcontribcol - name: Upload Collector Binaries @@ -528,57 +534,9 @@ jobs: name: collector-binaries-${{ matrix.os }}-${{ matrix.arch }} path: ./bin/* - build-package: - runs-on: ubuntu-latest - needs: [cross-compile] - strategy: - fail-fast: false - matrix: - package_type: ["deb", "rpm"] - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Install Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: "3.3" - - name: Install fpm - run: gem install --no-document fpm -v 1.15.1 - - name: Download Collector Binaries - uses: actions/download-artifact@v4 - with: - merge-multiple: true - path: bin/ - pattern: collector-binaries-* - - run: chmod +x bin/* - - name: Set Release Tag - id: github_tag - run: ./.github/workflows/scripts/set_release_tag.sh - - name: Build ${{ matrix.package_type }} amd64 package - run: ./internal/buildscripts/packaging/fpm/${{ matrix.package_type }}/build.sh "${{ steps.github_tag.outputs.tag }}" "amd64" "./dist/" - - name: Build ${{ matrix.package_type }} arm64 package - run: ./internal/buildscripts/packaging/fpm/${{ matrix.package_type }}/build.sh "${{ steps.github_tag.outputs.tag }}" "arm64" "./dist/" - - name: Build ${{ matrix.package_type }} ppc64le package - run: ./internal/buildscripts/packaging/fpm/${{ matrix.package_type }}/build.sh "${{ steps.github_tag.outputs.tag }}" "ppc64le" "./dist/" - - name: Build ${{ matrix.package_type }} s390x package - run: ./internal/buildscripts/packaging/fpm/${{ matrix.package_type }}/build.sh "${{ steps.github_tag.outputs.tag }}" "s390x" "./dist/" - - name: Test ${{ matrix.package_type }} package - run: | - if [[ "${{ matrix.package_type }}" = "deb" ]]; then - ./internal/buildscripts/packaging/fpm/test.sh dist/otel-contrib-collector*amd64.deb examples/demo/otel-collector-config.yaml - else - ./internal/buildscripts/packaging/fpm/test.sh dist/otel-contrib-collector*x86_64.rpm examples/demo/otel-collector-config.yaml - fi - - name: Upload Packages - uses: actions/upload-artifact@v4 - with: - name: collector-packages-${{ matrix.package_type }} - path: ./dist/* - publish-check: runs-on: ubuntu-latest - needs: [lint, unittest, integration-tests, build-package] + needs: [lint, unittest, integration-tests] steps: - uses: actions/checkout@v4 - name: Download Binaries @@ -587,24 +545,18 @@ jobs: merge-multiple: true path: ./bin/ pattern: collector-binaries-* - - name: Download Packages - uses: actions/download-artifact@v4 - with: - merge-multiple: true - path: ./dist/ - pattern: collector-packages-* - name: Verify Distribution Files Exist id: check run: ./.github/workflows/scripts/verify-dist-files-exist.sh publish-dev: runs-on: ubuntu-latest - needs: [lint, unittest, integration-tests, build-package] + needs: [lint, unittest, integration-tests] if: (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')) && github.repository == 'open-telemetry/opentelemetry-collector-contrib' steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Mkdir bin and dist run: | @@ -617,6 +569,7 @@ jobs: path: | ~/go/bin ~/go/pkg/mod + ./.tools key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' @@ -631,12 +584,6 @@ jobs: path: ./bin/ pattern: collector-binaries-* - run: chmod +x bin/* - - name: Download Packages - uses: actions/download-artifact@v4 - with: - merge-multiple: true - path: ./dist/ - pattern: collector-packages-* - name: Add Permissions to Tool Binaries run: chmod -R +x ./dist - name: Verify Distribution Files Exist @@ -645,6 +592,7 @@ jobs: - name: Build Docker Image if: steps.check.outputs.passed == 'true' run: | + make genotelcontribcol make docker-otelcontribcol docker tag otelcontribcol:latest otel/opentelemetry-collector-contrib-dev:$GITHUB_SHA docker tag otelcontribcol:latest otel/opentelemetry-collector-contrib-dev:latest @@ -665,7 +613,7 @@ jobs: docker push otel/opentelemetry-collector-contrib-dev:latest publish-stable: runs-on: ubuntu-latest - needs: [lint, unittest, integration-tests, build-package] + needs: [lint, unittest, integration-tests] if: startsWith(github.ref, 'refs/tags/v') && github.repository == 'open-telemetry/opentelemetry-collector-contrib' steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 08cb11aad328..468dbb930d15 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -33,7 +33,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 7a78278bd1f8..8769d26452c7 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false # Initializes the CodeQL tools for scanning. @@ -31,6 +31,7 @@ jobs: - name: Build Artifact run: | + make genotelcontribcol make otelcontribcol - name: Perform CodeQL Analysis diff --git a/.github/workflows/e2e-tests-windows.yml b/.github/workflows/e2e-tests-windows.yml index a04211b05421..0745599b555f 100644 --- a/.github/workflows/e2e-tests-windows.yml +++ b/.github/workflows/e2e-tests-windows.yml @@ -41,6 +41,8 @@ jobs: - name: Install dependencies if: steps.go-mod-cache.outputs.cache-hit != 'true' run: make -j2 gomoddownload + - name: Generate otelcontribcol files + run: make genotelcontribcol - name: Build Collector run: make otelcontribcol - name: Upload Collector Binary @@ -80,3 +82,48 @@ jobs: run: | cd cmd/opampsupervisor go test -v --tags=e2e + + windows-supervisor-service-test: + runs-on: windows-latest + if: ${{ github.actor != 'dependabot[bot]' && (contains(github.event.pull_request.labels.*.name, 'Run Windows') || github.event_name == 'push' || github.event_name == 'merge_group') }} + needs: [collector-build] + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: ~1.22.8 + cache: false + - name: Cache Go + uses: actions/cache@v4 + env: + cache-name: cache-go-modules + with: + path: | + ~\go\pkg\mod + ~\AppData\Local\go-build + key: go-build-cache-${{ runner.os }}-${{ matrix.group }}-go-${{ hashFiles('**/go.sum') }} + - name: Ensure required ports in the dynamic range are available + run: | + & ${{ github.workspace }}\.github\workflows\scripts\win-required-ports.ps1 + - name: Download Collector Binary + uses: actions/download-artifact@v4 + with: + name: collector-binary + path: bin/ + - name: Build supervisor + run: cd cmd/opampsupervisor; go build + - name: Install supervisor as a service + run: | + New-Service -Name "opampsupervisor" -StartupType "Manual" -BinaryPathName "${PWD}\cmd\opampsupervisor --config ${PWD}\cmd\opampsupervisor\supervisor\testdata\supervisor_windows_service_test_config.yaml\" + eventcreate.exe /t information /id 1 /l application /d "Creating event provider for 'opampsupervisor'" /so opampsupervisor + - name: Test supervisor service + working-directory: ${{ github.workspace }}/cmd/opampsupervisor + run: | + go test -timeout 90s -run ^TestSupervisorAsService$ -v -tags=win32service + - name: Remove opampsupervisor service + if: always() + run: | + Remove-Service opampsupervisor + Remove-Item HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application\opampsupervisor diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 86f41fd6fe27..865b45366147 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -40,6 +40,8 @@ jobs: - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' run: make -j2 gomoddownload + - name: Generate otelcontribcol files + run: make genotelcontribcol - name: Build Collector run: make otelcontribcol - name: Upload Collector Binary @@ -55,7 +57,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -87,7 +89,7 @@ jobs: uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -101,6 +103,8 @@ jobs: - name: Install dependencies if: steps.go-cache.outputs.cache-hit != 'true' run: make -j2 gomoddownload + - name: Generate otelcontribcol files + run: make genotelcontribcol - name: Build Docker Image run: | make docker-otelcontribcol @@ -133,7 +137,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache diff --git a/.github/workflows/load-tests.yml b/.github/workflows/load-tests.yml index 1c5cefeec26f..d6e50cec4f92 100644 --- a/.github/workflows/load-tests.yml +++ b/.github/workflows/load-tests.yml @@ -28,7 +28,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -46,6 +46,7 @@ jobs: - name: Install Tools if: steps.go-cache.outputs.cache-hit != 'true' run: make install-tools + - run: make genoteltestbedcol - run: make oteltestbedcol - name: Upload Testbed Binaries uses: actions/upload-artifact@v4 @@ -66,7 +67,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 5abc56fdf205..597f6e3ff2af 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -26,7 +26,7 @@ jobs: path: opentelemetry-collector-contrib - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Prepare release for contrib working-directory: opentelemetry-collector-contrib diff --git a/.github/workflows/prometheus-compliance-tests.yml b/.github/workflows/prometheus-compliance-tests.yml index a25375c72690..9557274a088f 100644 --- a/.github/workflows/prometheus-compliance-tests.yml +++ b/.github/workflows/prometheus-compliance-tests.yml @@ -31,7 +31,7 @@ jobs: path: opentelemetry-collector-contrib - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -42,7 +42,10 @@ jobs: ~/go/bin ~/go/pkg/mod ~/.cache/go-build + ./.tools key: prometheus-${{ runner.os }}-go-${{ hashFiles('**/go.mod', '**/go.sum') }} + - run: make genotelcontribcol + working-directory: opentelemetry-collector-contrib - run: make otelcontribcol working-directory: opentelemetry-collector-contrib - name: Checkout compliance repo @@ -53,7 +56,7 @@ jobs: - name: Copy binary to compliance directory # The required name of the downloaded artifact is `otelcol_0.42.0_linux_amd64`, so we place the collector contrib artifact under the same name in the bin folder to run. # Source: https://github.com/prometheus/compliance/blob/12cbdf92abf7737531871ab7620a2de965fc5382/remote_write_sender/targets/otel.go#L8 - run: mkdir compliance/remotewrite/sender/bin && cp opentelemetry-collector-contrib/bin/otelcontribcol_linux_amd64 compliance/remotewrite/sender/bin/otelcol_0.42.0_linux_amd64 + run: mkdir compliance/remotewrite/sender/bin && cp opentelemetry-collector-contrib/bin/otelcontribcol_linux_amd64 compliance/remotewrite/sender/bin/otelcol_0.42.0_linux_amd64 - name: clean up mod file run: go mod tidy working-directory: compliance/remotewrite/sender diff --git a/.github/workflows/scripts/verify-dist-files-exist.sh b/.github/workflows/scripts/verify-dist-files-exist.sh index 4db111a94c7a..06b07e8e4bca 100755 --- a/.github/workflows/scripts/verify-dist-files-exist.sh +++ b/.github/workflows/scripts/verify-dist-files-exist.sh @@ -11,14 +11,6 @@ files=( bin/otelcontribcol_linux_amd64 bin/otelcontribcol_linux_s390x bin/otelcontribcol_windows_amd64.exe - dist/otel-contrib-collector-*.aarch64.rpm - dist/otel-contrib-collector_*_amd64.deb - dist/otel-contrib-collector-*.x86_64.rpm - dist/otel-contrib-collector_*_arm64.deb - dist/otel-contrib-collector-*.ppc64le.rpm - dist/otel-contrib-collector_*_ppc64le.deb - dist/otel-contrib-collector_*_s390x.deb - dist/otel-contrib-collector-*.s390x.rpm # skip. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/10113 # dist/otel-contrib-collector-*amd64.msi diff --git a/.github/workflows/telemetrygen.yml b/.github/workflows/telemetrygen.yml index 7fe4f2e2dc00..555820eb1c6b 100644 --- a/.github/workflows/telemetrygen.yml +++ b/.github/workflows/telemetrygen.yml @@ -28,7 +28,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -67,7 +67,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache @@ -112,7 +112,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache diff --git a/.github/workflows/tidy-dependencies.yml b/.github/workflows/tidy-dependencies.yml index 2de7e1c83f02..8853bf3ed097 100644 --- a/.github/workflows/tidy-dependencies.yml +++ b/.github/workflows/tidy-dependencies.yml @@ -21,7 +21,7 @@ jobs: ref: ${{ github.head_ref }} - uses: actions/setup-go@v5 with: - go-version: "1.22.7" + go-version: "1.22.8" cache: false - name: Cache Go id: go-cache diff --git a/.golangci.yml b/.golangci.yml index edf02ba1dcdd..e7d4a3846078 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -135,13 +135,9 @@ linters-settings: testifylint: disable: - float-compare - - formatter - - go-require - - negative-positive - require-error - - suite-dont-use-pkg - suite-subtest-run - - useless-assert + - encoded-compare # has false positives that cannot be fixed with testifylint-fix enable-all: true linters: diff --git a/CHANGELOG-API.md b/CHANGELOG-API.md index 91b97c1720a0..e07e64acccb2 100644 --- a/CHANGELOG-API.md +++ b/CHANGELOG-API.md @@ -7,6 +7,76 @@ If you are looking for user-facing changes, check out [CHANGELOG.md](./CHANGELOG +## v0.112.0 + +### 🛑 Breaking changes 🛑 + +- `pkg/translator/jaeger`: Remove error from method signature as it always returns nil (#35560) + +### 🚀 New components 🚀 + +- `pkg/status`: Refactors the extension/healthcheckv2extension/internal/status into pkg/status (#34692) + +### 💡 Enhancements 💡 + +- `pkg/translator/prometheusremotewrite`: add FromMetricsV2 (#33661) + The public function is partially implemented and not ready for use +- `receiver/prometheusremotewrite`: Add HTTP Server to handler Prometheus Remote Write requests (#35535) + Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. + +## v0.111.0 + +### 💡 Enhancements 💡 + +- `opampsupervisor`: Pass config structure instead of file path when using NewSupervisor function (#34379) + +## v0.110.0 + +### 🛑 Breaking changes 🛑 + +- `all`: TimeoutSettings/QueueSettings fields in various Config structs are no longer embedded (#35158) + Structs in which .TimeoutSettings is no longer embedded: + * carbonexporter.Config + * googlecloudpubsubreceiver.Config + Structs in which .TimeoutSettings and .QueueSettings are no longer embedded: + * alertmanagerexporter.Config + * googlecloudexporter.Config + * googlemanagedprometheusexporter.Config + * otelarrowexporter.Config + + +### 🚩 Deprecations 🚩 + +- `datadogexporter`: The datadog exporter config has been deprecated in favor of the new `datadog/config` package. The new package is shared between the Datadog exporter and the Datadog Connector. + (#35067) + The new `datadog/config` package is a shared module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector. + + +### 💡 Enhancements 💡 + +- `pkg/datadog`: Create a new module for Datadog exporter configuration. + (#35067) + This change introduces a new module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector. + +- `kafkaexporter`: Add option to supply destination topic through context. (#34503, #34432) + +## v0.109.0 + +### 🛑 Breaking changes 🛑 + +- `pkg/ottl`: Change the OTTL grammar to support expressing statements context via path names (#29017) + The `ottl.Path` interface requires a new method: `Context() string` +- `prometheusreceiver`: Move the TargetAllocator configuration struct to an internal directory (#33146) + +### 💡 Enhancements 💡 + +- `pkg/ottl`: Add support for localized time parsing into the coreinternal/timeutils (#32977) +- `googlecloudmonitoringreceiver`: Enhancing the Google Cloud monitoring receiver to establish a client connection, scrape GCP Cloud Metrics, and transform them into an OpenTelemetry compatible format for pipeline processing. (#33762) + - Implements client connection to Google Cloud Monitoring API. + - Scrapes timeseries data based on configured metrics. + - Converts the data into OpenTelemetry format for use in the pipeline. + + ## v0.108.0 ### 🛑 Breaking changes 🛑 diff --git a/CHANGELOG.md b/CHANGELOG.md index d076c9a95619..5ef68cc2695e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,378 @@ If you are looking for developer-facing changes, check out [CHANGELOG-API.md](./ +## v0.112.0 + +### 🛑 Breaking changes 🛑 + +- `elasticsearchexporter`: Enable gzip compression by default (#35865) + To disable compression, set config `compression` to `none`. +- `elasticsearchexporter`: Set body.* for log body in OTel mode (#35771) + Log record body in OTel mapping mode will be stored in body.text, body.structured, body.flattened based on body value type and presence of event.name attribute +- `processor/metricsgeneration`: Remove "experimental_" prefix from metrics generator processor name. (#35426) + +### 🚩 Deprecations 🚩 + +- `sapmreceiver`: Deprecate SAPM receiver (#32125) +- `elasticsearchexporter`: Deprecate retry::max_requests in favor of retry::max_retries (#32344) + retry::max_retries will be exactly retry::max_requests - 1 + +### 🚀 New components 🚀 + +- `confmap/aesprovider`: Initial aes encryption provider. Allows configurations to decrypt secrets using AES encryption. (#35550) +- `systemdreceiver`: Introduce the scaffolding of a new component, systemdreceiver (#33532) +- `ntpreceiver`: Introduce new receiver reporting the offset between the local machine and a NTP server. (#34375) +- `tlscheckreceiver`: Add TLS Check Receiver component to monitor x.509 certificate expiry (#35423) + +### 💡 Enhancements 💡 + +- `awsfirehosereceiver`: Add support for CloudWatch logs (#35077) +- `awsfirehosereceiver`: added OTLP v1 support to Firehose receiver (#34982) +- `awss3receiver`: Add support for monitoring the progress of ingesting data from an S3 bucket via OpAMP custom messages. (#30750) +- `azureeventshubreceiver`: Updates the Azure Event Hub receiver to use the new Resource Logs translator. (#35357) +- `cloudflarereceiver`: Respond 503 on non-permanent and 400 on permanent errors (#35642) +- `elasticsearchexporter`: Add hint in error logs for TSDB version_conflict_engine_exception error (#35546) +- `pkg/ottl`: Add ConvertAttributesToElementsXML Converter (#35328) +- `logdedupprocessor`: Add a `condition` field to the Log DeDuplication Processor. (#35440) +- `opampextension`: Support using auth extensions for authenticating with opamp servers (#35507) +- `azureblobreceiver`: adds support for using azidentity default auth, enabling the use of Azure Managed Identities, e.g. Workload Identities on AKS (#35636) + This change allows to use authentication type "default", which makes the receiver use azidentity default Credentials, + which automatically picks up, identities assigned to e.g. a container or a VirtualMachine + +- `elasticsearchexporter`: Introduce an experimental bodymap mapping mode for logs (#35444) +- `googlecloudexporter`: Google Cloud exporter is marked as mutating. (#35366) +- `googlemanagedprometheusexporter`: GMP exporter is marked as mutating. (#35366) +- `k8sobserver`: Emit endpoint per Pod's container (#35491) +- `mongodbreceiver`: Add support for MongoDB direct connection (#35427) +- `exporter/clickhouse`: Add the ability to override default table names for all metric types. (#34225) + 'metrics_table_name' of the clickhouse exporter config is deprecated and newly introduced parameter 'metrics_tables' should be used instead. + +- `metricsgenerationprocessor`: Introduce functionality to only do metric calculations on data points whose attributes match (#35425) + This functionality can be enabled by the `metricsgeneration.MatchAttributes` feature gate, which is disabled by default. + +- `chronyreceiver`: Move chronyreceiver to beta (#35913) +- `opampextension`: Implement `ReportsHealth` capability in OpAMP extension (#35433) +- `opampextension`: Report OS description semantic convention (`os.description`) as a part of non-identifying agent description. (#35555) +- `otelarrowexporter`: Adjust defaults from https://opentelemetry.io/blog/2024/otel-arrow-production/ experiments. (#35477) +- `pkg/ottl`: Parsing invalid statements and conditions now prints all errors instead of just the first one found. (#35728) +- `pkg/ottl`: Add ParseSimplifiedXML Converter (#35421) +- `receiver/prometheusremotewrite`: Add HTTP Server to handler Prometheus Remote Write requests (#35535) + Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now. +- `rabbitmqexporter`: Allow to configure the name of the AMQP connection in the rabbitmqexporter (#34681) +- `routingconnector`: Allow routing based on OTTL Conditions (#35731) + Each route must contain either a statement or a condition. + +- `sapmreceiver`: Respond 503 on non-permanent and 400 on permanent errors (#35300) +- `opampsupervisor`: Allow collector logs to passthrough to supervisor output to facilitate running in a containerized environment. (#35473) +- `hostmetricsreceiver`: Use HOST_PROC_MOUNTINFO as part of configuration instead of environment variable (#35504) +- `pkg/ottl`: Add ConvertTextToElements Converter (#35364) + +### 🧰 Bug fixes 🧰 + +- `metricstransform`: The previously removed functionality of aggregating against an empty label set is restored. (#34430) +- `datadogreceiver`: Use `Check` name from Service Check structure as metric name rather than hardcoded string `service_check` (#35718) +- `azuredataexplorerexporter`: Fix compression type for Azure Data Explorer exporter by adding the compression type in ingestion properties. (#35353) +- `telemetrygen`: ensure validate is called (#35745) +- `deltatocumulative`: fix meter panic on startup (#35685) + properly constructs the TelemetryBuilder, so it does not panic on startup, rendering the entire component unusable +- `elasticsearchexporter`: Log and drop invalid metrics instead of returning error to avoid upstream retries (#35740) +- `elasticsearchexporter`: Preserve attribute names and metric names on prefix conflict in OTel mapping mode (#35651) + e.g. if there are attributes "a" and "a.b", they should be sent to Elasticsearch as is, instead of "a.value" and "a.b", in OTel mapping mode +- `elasticsearchexporter`: Make OTel mapping mode send to data streams only (#35839) + This prevents auto creating regular indices in OTel mapping mode due to a race condition in Elasticsearch where otel-data index templates are not ready. +- `elasticsearchexporter`: Sanitize datastream routing fields (#34285) + Sanitize the dataset and namespace fields according to https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html. +- `oidcauthextension`: Fix a goroutine leak during shutdown. (#30438) + A goroutine leak was found in oidcauthextension. The goroutine leak was caused by the oidcauthextension not closing the idle connections in the client and transport. + +- `filelogreceiver`: Supports `add_metadata_from_filepath` for Windows filepaths (#35558) +- `filelogreceiver`: Suppress errors on EBADF when unlocking files. (#35706) + This error is harmless and happens regularly when delete_after_read is set. This is because we acquire the lock right at the start of the ReadToEnd function and then defer the unlock, but that function also performs the delete. So, by the time it returns and the defer runs the file descriptor is no longer valid. +- `kafkareceiver`: Fixes issue causing kafkareceiver to block during Shutdown(). (#30789) +- `hostmetrics receiver`: Fix duplicate filesystem metrics (#34635, #34512) + The hostmetrics exposes duplicate metrics of identical mounts exposed in namespaces. The duplication causes errors in exporters that are sensitive to duplicate metrics. We can safely drop the duplicates as the metrics should be exactly the same. +- `pkg/translator/prometheusremotewrite`: Fix metric comparison func in prom translation layer (#35741) +- `pkg/ottl`: Allow indexing string slice type (#29441) +- `mysqlreceiver`: Add replica metric support for versions of MySQL earlier than 8.0.22. (#35217) +- `stanza/input/windows`: Close remote session while resubscribing (#35577) +- `telemetrygen`: Enable the `--otlp-insecure-skip-verify` flag (#35735) +- `receiver/windowseventlog`: Errors returned when passing data downstream will now be propagated correctly. (#35461) +- `datadogreceiver`: Changes response message for `/api/v1/series` and `/api/v2/series` 202 response to be JSON and on par with Datadog API spec (#35743) + +## v0.111.0 + +### 🛑 Breaking changes 🛑 + +- `instanaexporter`: Remove deprecated instanaexporter (#35367) + Use the `otlp` exporter instead as explained in IBM's [documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=opentelemetry-sending-data-instana-backend). +- `elasticsearchexporter`: Drop cumulative temporality histogram and exponential histogram (#35442) + Cumulative temporality histogram and exponential histogram are not supported by Elasticsearch. Use cumulativetodeltaprocessor to convert cumulative temporality to delta temporality. +- `elasticsearchexporter`: Implement receiver-based routing under *_dynamic_index config (#34246) +- `config`: Move component.UseLocalHostAsDefaultHost feature gate to stable. (#35569) +- `metricsgenerationprocessor`: Generate metrics even when the second metric's value is 0 (#35533) +- `signalfxexporter`: Do not exclude the metric `container.memory.working_set` (#35475) +- `sqlqueryreceiver`: Fail if value for log column in result set is missing, collect errors (#35068) +- `windowseventlogreceiver`: The 'raw' flag no longer suppresses rendering info. (#34720) + Previously, this flag controlled two behaviors simultaneously: + 1. Whether or not the body of the log record was an XML string or structured object. + 2. Whether or not rendering info was resolved. + A separate 'suppress_rendering_info' option now controls rendering info resolution. + This is considered a breaking change because users setting only the 'raw' flag without also setting the + new 'suppress_rendering_info' flag may see a performance decrease along with more detailed events. + + +### 🚩 Deprecations 🚩 + +- `sapmreceiver`: `access_token_passthrough` is deprecated (#35330) + - "`access_token_passthrough` is deprecated." + - "Please enable include_metadata in the receiver and add the following config to the batch processor:" + ```yaml + batch: + metadata_keys: [X-Sf-Token] + ``` + + +### 🚀 New components 🚀 + +- `receiver/prometheusremotewrite`: Add a new receiver for Prometheus Remote Write. + (#33782) + +### 💡 Enhancements 💡 + +- `sumconnector`: adds connector and summing logic along with tests (#32669) +- `receivercreator`: Validate endpoint's configuration before starting receivers (#33145) +- `otelarrowreceiver`: Add admission control in the otelarrow receiver's standard otlp data path. +Also moves admission control config options to a separate block. +arrow.admission_limit_mib -> admission.request_limit_mib +arrow.waiter_limit -> admission.waiter_limit + (#35021) +- `clickhouseexporter`: Upgrading stability for traces to beta (#35186) + The trace exporter has proven to be stable for production deployments. + Trace configuration is unlikely to receive any significant changes. + +- `clickhouseexporter`: Updated the default trace table (#34245) + Reduced data types, improved partitioning and time range queries +- `opampsupervisor`: Add configurable logging for the supervisor. (#35466) +- `datadogreceiver`: Move receiver's metrics stability to alpha. (#18278) +- `datadogreceiver`: Add container id from v0.5 request header (#35345) +- `elasticsearchexporter`: Implement elasticsearch.mapping.hints attribute handling for data points in OTel mapping mode (#35479) + elasticsearch.mapping.hints takes a slice of strings. `_doc_count` enables emitting `_doc_count` for the document. `aggregate_metric_double` causes histogram or exponential histogram to be emitted as aggregate_metric_double. +- `elasticsearchexporter`: Revert TSDB array dimension workaround for metrics OTel mode (#35291) + Remove the workaround to stringify array dimensions as the limitation has been lifted in Elasticsearch v8.16.0. +- `receiver/statsd`: Add support for aggregating on Host/IP. + (#23809) +- `opampsupervisor`: Skip executing the collector if no config is provided (#33680) +- `googlecloudmonitoringreceiver`: Move receiver's stability to alpha. (#33762) +- `hostmetricsreceiver`: Add ability to mute all errors (mainly due to access rights) coming from process scraper of the hostmetricsreceiver (#20435) +- `kubeletstats`: Introduce feature gate for deprecation of container.cpu.utilization, k8s.pod.cpu.utilization and k8s.node.cpu.utilization metrics (#35139) +- `opampsupervisor`: Make supervisor runnable as a Windows Service. (#34774) +- `opampsupervisor`: Add config option for setting the timeout for the initial bootstrap information retrieval from the agent (#34996) +- `pkg/ottl`: Add InsertXML Converter (#35436) +- `pkg/ottl`: Add GetXML Converter (#35462) +- `pkg/ottl`: Add ToKeyValueString Converter (#35334) +- `pkg/ottl`: Add RemoveXML Converter (#35301) +- `geoipprocessor`: No longer return an error when geo metadata is not found by a provider. (#35047) +- `sqlserverreceiver`: Add computer name resource attribute to relevant metrics (#35040) +- `windowseventlogreceiver`: Add 'suppress_rendering_info' option. (#34720) + When this flag is enabled, the receiver will not attempt to resolve rendering info. This can improve performance + but comes at a cost of losing some details in the event log. + +- `windowseventlogreceiver`: Move artificial "remote_server" field to 'attributes["server.address"]'. (#34720) + +### 🧰 Bug fixes 🧰 + +- `webhookeventreceiver`: Fixed a bug where request bodies containing newline characters caused the results to split into multiple log entries (#35028) +- `opampsupervisor`: Only use TLS config when connecting to OpAMP server if using `wss` or `https` protocols. (#35283) +- `metricsgenerationprocessor`: Allow metric calculations to be done on sum metrics (#35428) +- `sqlqueryreceiver`: Fix reprocessing of logs when tracking_column type is timestamp (#35194) +- `windowseventlogreceiver`: While collecting from a remote windows host, the stanza operator will no longer log "subscription handle is already open" constantly during successful collection. (#35520) +- `windowseventlogreceiver`: If collecting from a remote host, the receiver will stop collecting if the host restarts. This change resubscribes when the host restarts. (#35175) + +## v0.110.0 + +### 🛑 Breaking changes 🛑 + +- `pkg/stanza`: Move `filelog.container.removeOriginalTimeField` feature gate to beta (#33389) + - Disable the `filelog.container.removeOriginalTimeField` feature gate to get the old behavior. + +- `resourcedetectionprocessor`: Move `processor.resourcedetection.hostCPUSteppingAsString` feature gate to stable. (#31136) +- `resourcedetectionprocessor`: Remove `processor.resourcedetection.hostCPUModelAndFamilyAsString` feature gate. (#29025) + +### 🚩 Deprecations 🚩 + +- `hostmetricsreceiver`: Set the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to stable. (#34763) + +### 🚀 New components 🚀 + +- `azurelogs_translater`: Adds a new translater that converts Azure EventHub logs to OpenTelemetry logs used by the Azure Events Hub receiver. (#39704) +- `dorisexporter`: logs implementation (#33479) +- `dorisexporter`: traces implementation (#33479) + +### 💡 Enhancements 💡 + +- `otelarrowexporter`: Allow separate arrow exporter per unique value of configured metadataKeys. (#34178) +- `processor/transform`: Add custom function to the transform processor to convert exponential histograms to explicit histograms. (#33827) +- `datadogconnector`: Map the new OTel semantic convention `deployment.environment.name` to `env` for OTLP traces in APM stats. (#35147) + The old convention `deployment.environment` still works +- `datadogexporter`: Map the new OTel semantic convention `deployment.environment.name` to `env` for OTLP traces, metrics and logs. (#35147) + The old convention `deployment.environment` still works +- `file_storage`: provide a new option to the user to create a directory on start (#34939) +- `headersetterextension`: adding default_value config (#34412) + default_value config item applied in case context value is empty + +- `kafkaexporter`: Add support for encoding extensions in the Kafka exporter. (#34384) + This change adds support for encoding extensions in the Kafka exporter. Loading extensions takes precedence over the internally supported encodings. + +- `datadogexporter`: Adds exporter.datadogexporter.metricremappingdisabled featuregate which disables renaming OpenTelemetry metrics to match Datadog semantics. This feature gate is only for internal use. (#35025) +- `otelarrowexporter`: Add BatcherConfig field following similar in OTLP exporter. (#34802) +- `otelarrowreceiver`: Add gRPC timeout propagation. (#34742) +- `kafkareceiver`: Add support for `otlp_json` encoding to Kafka receiver. The payload is deserialized into OpenTelemetry traces using JSON format. (#33627) + This encoding allows the Kafka receiver to handle trace data in JSON format, + enabling integration with systems that export traces as JSON-encoded data. + +- `pkg/ottl`: Improved JSON unmarshaling performance by 10-20% by switching dependencies. (#35130) +- `pkg/ottl`: Added support for locale in the Time converter (#32978) +- `datadogexporter`: Upgrade logs in Datadog Exporter to beta (#35359) +- `remotetapprocessor`: Origin header is no longer required for websocket connections (#34925) +- `deltatorateprocessor`: Remove unnecessary data copies. (#35165) +- `transformprocessor`: Remove unnecessary data copy when transform sum to/from gauge (#35177) +- `sapmexporter`: Prioritize token in context when accesstokenpassthrough is enabled (#35123) +- `tailsamplingprocessor`: Fix the behavior for numeric tag filters with `inverse_match` set to `true`. (#34296) + +### 🧰 Bug fixes 🧰 + +- `splunkenterprise`: Fix a flaky search related to iops metrics. (#35081) +- `azuremonitorexporter`: fix issue for property endpoint is ignored when using instrumentation_key (#33971) +- `groupbytraceprocessor`: Ensure processor_groupbytrace_incomplete_releases metric has a unit. (#35221) +- `datadogreceiver`: Fix numeric span attributes (#35087) +- `deltatocumulative`: do not drop gauges and summaries (#35284) + Gauges and Summaries are no longer dropped from processor output. + Instead, they are passed through as-is + +- `pkg/stanza`: Do not get formatted message for Windows events without an event provider. (#35135) + Attempting to get the formatted message for Windows events without an event provider can result in an error being logged. | + This change ensures that the formatted message is not retrieved for such events. + +- `cmd/opampsupervisor`: Ensure the Supervisor processes all fields in a ServerToAgent message. (#34349) +- `signalfxexporter`: Ensure token is not sent through for event data (#35154) +- `prometheusreceiver`: Fix the retrieval of scrape configurations by also considering scrape config files (#34786) +- `redactionprocessor`: Fix panic when using the redaction processor in a logs pipeline (#35331) +- `exporter/splunkhec`: Fix incorrect claim that the exporter doesn't mutate data when batching is enabled. (#35306) + The bug lead to runtime panics when the exporter was used with the batcher enabled in a fanout scenario. + + +## v0.109.0 + +### 🛑 Breaking changes 🛑 + +- `clickhouseexporter`: Upgrade trace SpanKind and StatusCode string values (#34799) + This change updates the output of the trace SpanKind and StatusCode fields to be consistent + with the specification's enum values. While this change will not break any deployments, it may affect + queries dependent on the old enum names. + + For more details on old->new values, see this related PR: + https://github.com/open-telemetry/opentelemetry-collector/pull/6250 + +- `spanmetricsconnector`: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace (#33227, #32818) + Default namespace for the generated metrics is traces.span.metrics now. | The deprecated metrics are: calls, duration and events. | The feature flag connector.spanmetrics.legacyLatencyMetricNames was added to revert the behavior. +- `servicegraphconnector`: Fix histogram metrics miss unit (#34511) + All metrics will remove the suffix `_seconds`. It will not introduce breaking change if users use | `prometheusexporter` or `prometheusremotewriteexporter` to exporter metrics in pipeline. | In some cases, like using `clickhouseexporter`(save data in native OTLP format), it will be a breaking change. | Users can use `transformprocessor` to add back this suffix. +- `gitproviderreceiver`: The Git Provider Receiver has been renamed to GitHub Receiver. (#34731) + This rename was to better match the OpenTelemetry semantic convention changes in v1.27.0 + and allows for Traces and Log signals to be added to this component. Traces + as mentioned in issue #27460 will be added in a future release to this component. + +- `ottl`: Remove tracing from OTTL due to performance concerns (#34910) +- `vcenterreceiver`: Updated units on several metrics to be more in line with documented semantics. (#34946) + The following are the metrics with their respective unit changes: + - vcenter.datacenter.cpu.limit ({MHz} -> MHz) + - vcenter.cluster.cpu.limit ({MHz} -> MHz) + - vcenter.cluster.cpu.effective ({MHz} -> MHz) + - vcenter.cluster.vsan.operations ({operations/sec} -> {operations/s}) + - vcenter.cluster.vsan.congestions ({congestions/sec} -> {congestions/s}) + - vcenter.host.network.packet.error.rate ({errors/sec} -> {errors/s}) + - vcenter.host.network.packet.rate ({packets/sec} -> {packets/s}) + - vcenter.host.network.packet.drop.rate ({packets/sec} -> {packets/s}) + - vcenter.host.vsan.operations ({operations/sec} -> {operations/s}) + - vcenter.host.vsan.congestions ({congestions/sec} -> {congestions/s}) + - vcenter.resource_pool.cpu.usage ({MHz} -> MHz) + - vcenter.vm.network.throughput (By/sec -> By/s) + - vcenter.vm.network.packet.rate ({packets/sec} -> {packets/s}) + - vcenter.vm.vsan.operations ({operations/sec} -> {operations/s}) + + +### 🚩 Deprecations 🚩 + +- `instanaexporter`: Marking instanaexporter module as deprecated (#34994) + +### 💡 Enhancements 💡 + +- `pkg/ottl`: Added Decode() converter function (#32493) +- `testbed`: Add test case scenarios to handle large files to existing testbed. (#34288) +- `filestorage`: Add directory validation for compaction on-rebound (#35114) +- `windowseventlogreceiver`: Avoid rendering the whole event to obtain the provider name (#34755) +- `datadogreceiver`: add support for sketch metrics in Datadog receiver (#18278) +- `datadogconnector`: Optimize Datadog connector when there are many peer tags and `connector.datadogconnector.NativeIngest` is enabled (#34945) + `connector.datadogconnector.NativeIngest` is currently enabled by default +- `splunkhecexporter`: Drop empty log events (#34871) + Log records with no body are dropped by Splunk on reception + as they contain no log message, albeit they may have attributes. + + This PR removes those logs from consideration to be exported. + + This is in tune with the behavior of splunkhecreceiver, which refuses HEC events with no event (#19769) + +- `elasticsearchexporter`: Add exponential histogram support (#34813) +- `elasticsearchexporter`: Add span event support to traces OTel mapping mode (#34831) + Span events are now supported in OTel mapping mode. They will be routed to `logs-${data_stream.dataset}-${data_stream.namespace}` if `traces_dynamic_index::enabled` is `true`. +- `transformprocessor`: Support aggregating metrics based on their attribute values and substituting the values with a new value. (#16224) +- `kafkareceiver`: Adds tunable fetch sizes to Kafka Receiver (#22741, #34431) + Adds the ability to tune the minumum, default and maximum fetch sizes for the Kafka Receiver +- `solarwindsapmsettingsextension`: Added logic for refresh function (#27668) +- `githubreceiver`: Promote GitHub receiver metrics to alpha status. (#34960) +- `googlecloudmonitoringreceiver`: Enhancing the Google Cloud monitoring receiver to establish a client connection, scrape GCP Cloud Metrics, and transform them into an OpenTelemetry compatible format for pipeline processing. (#33762) + - Implements client connection to Google Cloud Monitoring API. + - Scrapes timeseries data based on configured metrics. + - Converts the data into OpenTelemetry format for use in the pipeline. + +- `processor/interval`: Support for gauge and summary metrics. (#34803) + Only the last value of a gauge or summary metric is reported in the interval processor, instead of all values. +- `kafkareceiver`: Add support for encoding extensions in the Kafka receiver. (#33888) + This change adds support for encoding extensions in the Kafka receiver. Loading extensions takes precedence over the internally supported encodings. + +- `datadogexporter`: Add support for setting a custom log source from resource attribute `datadog.log.source` (#35051) +- `opampextension`: Adds the ability to configure the polling interval for the HTTP client. (#34749) +- `otelarrowexporter`: Add gRPC timeout propagation. (#34733) +- `pkg/ottl`: Add `Sort` function to sort array to ascending order or descending order (#34200) +- `exporter/prometheusexpoter`: Support for Prometheus Created Timestamps. (#32521) +- `redactionprocessor`: Add support for logs and metrics (#34479) +- `exceptionsconnector,servicegraphconnector,spanmetricsconnector`: Extract the `getDimensionValue` function as a common function. (#34627) +- `sqlqueryreceiver`: Support populating log attributes from sql query (#24459) +- `opampsupervisor`: Add new config parameter `agent.health_check_port` to allow configuring the port used by the agent healthcheck extension. (#34643) + +### 🧰 Bug fixes 🧰 + +- `apachereceiver`: Fix panic on invalid endpoint configuration (#34992) +- `deltatocumulative`: drop bad samples (#34979) + removes bad (rejected) samples from output. previously identified and metric-tracked those as such, but didn't actually drop them. + +- `elasticsearchexporter`: Fix dynamic mapping for double values storing integers (#34680) +- `elasticsearchexporter`: Stringify attribute array values in metrics OTel mode (#35004) + Elasticsearch TSDB does not support array dimensions. Workaround it by stringifying attribute array values in OTel mapping mode for metrics. +- `fileconsumer`: Fix bug where max_concurrent_files could not be set to 1. (#35080) +- `servicegraphconnector`: Fix incorrectly reversed latency settings for the server and client (#34933) +- `hostmetricsreceiver`: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043) +- `splunkhecreceiver`: Fix memory leak when the receiver is used for both metrics and logs at the same time (#34886) +- `geoipprocessor`: Avoid using internal empty attribute.Set pointer (#34882) +- `pkg/stanza`: Synchronize shutdown in stanza adapter (#31074) + Stanza-based receivers should now flush all data before shutting down +- `sqlserverreceiver`: Fix bug where metrics were being emitted with the wrong database name resource attribute (#35036) +- `signalfxexporter`: Fix memory leak by re-organizing the exporter's functionality lifecycle (#32781) +- `otlpjsonconnector`: Handle OTLPJSON unmarshal error (#34782) +- `mysqlreceiver`: mysql client raise error when the TABLE_ROWS column is NULL, convert NULL to int64 (#34195) +- `pkg/stanza`: An operator configured with silent errors shouldn't log errors while processing log entries. (#35008) +- `datadogexporter`: Use correct hostname for logs when using Datadog Agent logs pipeline with a gateway deployment. (#35058) + ## v0.108.0 ### 🛑 Breaking changes 🛑 @@ -1209,7 +1581,7 @@ This release fixes CVE-2024-42368 on the `bearerauthtokenextension` (#34516) - `k8sclusterreceiver`: add optional status_last_terminated_reason resource attribute (#31282) - `awsproxyextension`: Expose service_name as configurable option. Previously, it was hardcoded as xray. (#29550) - `datadogexporter`: Add new telemetry metric, `otelcol_datadog_otlp_translator_resources_missing_source` that counts OTLP resources missing a hostname-identifying attribute. (#31805) - - Enable Collector metrics https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/troubleshooting.md#metrics to check for this metric. + - Enable Collector metrics https://opentelemetry.io/docs/collector/internal-telemetry/#configure-internal-metrics to check for this metric. - `extension/opamp`: Promote the OpAMP extension to alpha stability (#31616) - `prometheusremotewriteexporter`: Publish telemetry about translation of metrics from Otel to Prometheus. Don't drop all data points if some fail translation. (#29729) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 59926551759d..daf66c9c1eda 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -114,23 +114,12 @@ issue](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/ providing the following information: * Who's the sponsor for your component. A sponsor is an approver or maintainer who will be the official reviewer of the code and a code owner - for the component. Generally, you will need to find a sponsor for the component in order for it to be accepted. For vendor-specific - components, a sponsor may be assigned under certain circumstances. See additional details below. + for the component. You will need to find a sponsor for the component in order for it to be accepted. * Some information about your component, such as the reasoning behind it, use-cases, telemetry data types supported, and anything else you think is relevant for us to make a decision about accepting the component. * The configuration options your component will accept. This will give us a better understanding of what it does, and how it may be implemented. -### Vendor-specific components - -A vendor-specific component directly interfaces with a vendor-specific API and is expected to be maintained by a representative of the same vendor. -It is always preferred to find a sponsor. However in an effort to ensure vendor neutrality, a sponsor will be assigned to a vendor-specific -component using a round-robin fashion if the following circumstances are met: - -1. A member of the OpenTelemetry project proposes to contribute and support the component on behalf of the vendor. -2. The proposed component is either a receiver or exporter. With this, we aim to foster an interoperable ecosystem. -3. The vendor does not yet have a component of the same kind (receiver or exporter) in the repository. - Components refer to connectors, exporters, extensions, processors, and receivers. The key criteria to implementing a component is to: * Implement the [component.Component](https://pkg.go.dev/go.opentelemetry.io/collector/component#Component) interface @@ -250,29 +239,6 @@ After a component has been merged it must be added to the [OpenTelemetry Collector Contrib's release manifest.yaml](https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/distributions/otelcol-contrib/manifest.yaml) to be included in the distributed otelcol-contrib binaries and docker images. -### Rotating sponsors - -The following GitHub users are the currently available sponsors, either by being an approver or a maintainer of the contrib repository. The list is ordered based on a random sort of the list of sponsors done live at the Collector SIG meeting on 27-Apr-2022 and serves as the seed for the round-robin selection of sponsors, as described in the section above. - -* [@mwear](https://github.com/mwear) -* [@djaglowski](https://github.com/djaglowski) -* [@codeboten](https://github.com/codeboten) -* [@mx-psi](https://github.com/mx-psi) -* [@dmitryax](https://github.com/dmitryax) -* [@evan-bradley](https://github.com/evan-bradley) -* [@MovieStoreGuy](https://github.com/MovieStoreGuy) -* [@bogdandrutu](https://github.com/bogdandrutu) -* [@jpkrohling](https://github.com/jpkrohling) -* [@dashpole](https://github.com/dashpole) -* [@TylerHelmuth](https://github.com/TylerHelmuth) -* [@fatsheep9146](https://github.com/fatsheep9146) -* [@andrzej-stencel](https://github.com/andrzej-stencel) -* [@songy23](https://github.com/songy23) -* [@atoulme](https://github.com/atoulme) -* [@crobert-1](https://github.com/crobert-1) - -Whenever a sponsor is picked from the top of this list, please move them to the bottom. - ## Adding metrics to existing receivers Following these steps for contributing additional metrics to existing receivers. - Read instructions [here](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CONTRIBUTING.md#fork) on how to diff --git a/Makefile b/Makefile index 1a94410d93c9..86ecba3a3276 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ OTEL_STABLE_VERSION=main VERSION=$(shell git describe --always --match "v[0-9]*" HEAD) TRIMMED_VERSION=$(shell grep -o 'v[^-]*' <<< "$(VERSION)" | cut -c 2-) CORE_VERSIONS=$(SRC_PARENT_DIR)/opentelemetry-collector/versions.yaml -GOMOD=$(SRC_ROOT)/go.mod +GOMOD=$(SRC_ROOT)/cmd/otelcontribcol/go.mod COMP_REL_PATH=cmd/otelcontribcol/components.go MOD_NAME=github.com/open-telemetry/opentelemetry-collector-contrib @@ -47,10 +47,11 @@ CONNECTOR_MODS := $(shell find ./connector/* $(FIND_MOD_ARGS) -exec $(TO_MOD_DIR INTERNAL_MODS := $(shell find ./internal/* $(FIND_MOD_ARGS) -exec $(TO_MOD_DIR) ) PKG_MODS := $(shell find ./pkg/* $(FIND_MOD_ARGS) -exec $(TO_MOD_DIR) ) CMD_MODS_0 := $(shell find ./cmd/[a-m]* $(FIND_MOD_ARGS) -exec $(TO_MOD_DIR) ) -CMD_MODS_1 := $(shell find ./cmd/[n-z]* $(FIND_MOD_ARGS) -not -path "./cmd/otelcontribcol/*" -exec $(TO_MOD_DIR) ) +CMD_MODS_1 := $(shell find ./cmd/[n-z]* $(FIND_MOD_ARGS) -not -path "./cmd/otel*col/*" -exec $(TO_MOD_DIR) ) CMD_MODS := $(CMD_MODS_0) $(CMD_MODS_1) OTHER_MODS := $(shell find . $(EX_COMPONENTS) $(EX_INTERNAL) $(EX_PKG) $(EX_CMD) $(FIND_MOD_ARGS) -exec $(TO_MOD_DIR) ) $(PWD) ALL_MODS := $(RECEIVER_MODS) $(PROCESSOR_MODS) $(EXPORTER_MODS) $(EXTENSION_MODS) $(CONNECTOR_MODS) $(INTERNAL_MODS) $(PKG_MODS) $(CMD_MODS) $(OTHER_MODS) +CGO_MODS := ./receiver/hostmetricsreceiver FIND_INTEGRATION_TEST_MODS={ find . -type f -name "*integration_test.go" & find . -type f -name "*e2e_test.go" -not -path "./testbed/*"; } INTEGRATION_MODS := $(shell $(FIND_INTEGRATION_TEST_MODS) | xargs $(TO_MOD_DIR) | uniq) @@ -118,6 +119,10 @@ gogci: gotidy: $(MAKE) $(FOR_GROUP_TARGET) TARGET="tidy" +.PHONY: remove-toolchain +remove-toolchain: + $(MAKE) $(FOR_GROUP_TARGET) TARGET="toolchain" + .PHONY: gomoddownload gomoddownload: $(MAKE) $(FOR_GROUP_TARGET) TARGET="moddownload" @@ -131,6 +136,14 @@ gotest-with-cover: @$(MAKE) $(FOR_GROUP_TARGET) TARGET="test-with-cover" $(GOCMD) tool covdata textfmt -i=./coverage/unit -o ./$(GROUP)-coverage.txt +.PHONY: gobuildtest +gobuildtest: + $(MAKE) $(FOR_GROUP_TARGET) TARGET="buildtest" + +.PHONY: gorunbuilttest +gorunbuilttest: + $(MAKE) $(FOR_GROUP_TARGET) TARGET="runbuilttest" + .PHONY: gointegration-test gointegration-test: $(MAKE) $(FOR_GROUP_TARGET) TARGET="mod-integration-test" @@ -256,6 +269,9 @@ for-other-target: $(OTHER_MODS) .PHONY: for-integration-target for-integration-target: $(INTEGRATION_MODS) +.PHONY: for-cgo-target +for-cgo-target: $(CGO_MODS) + # Debugging target, which helps to quickly determine whether for-all-target is working or not. .PHONY: all-pwd all-pwd: @@ -330,31 +346,45 @@ chlog-update: $(CHLOGGEN) .PHONY: genotelcontribcol genotelcontribcol: $(BUILDER) $(BUILDER) --skip-compilation --config cmd/otelcontribcol/builder-config.yaml --output-path cmd/otelcontribcol - $(MAKE) --no-print-directory -C cmd/otelcontribcol fmt # Build the Collector executable. .PHONY: otelcontribcol -otelcontribcol: +otelcontribcol: genotelcontribcol cd ./cmd/otelcontribcol && GO111MODULE=on CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/otelcontribcol_$(GOOS)_$(GOARCH)$(EXTENSION) \ -tags $(GO_BUILD_TAGS) . +# Build the Collector executable without the symbol table, debug information, and the DWARF symbol table. +.PHONY: otelcontribcollite +otelcontribcollite: genotelcontribcol + cd ./cmd/otelcontribcol && GO111MODULE=on CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/otelcontribcol_$(GOOS)_$(GOARCH)$(EXTENSION) \ + -tags $(GO_BUILD_TAGS) -ldflags $(GO_BUILD_LDFLAGS) . + .PHONY: genoteltestbedcol genoteltestbedcol: $(BUILDER) $(BUILDER) --skip-compilation --config cmd/oteltestbedcol/builder-config.yaml --output-path cmd/oteltestbedcol - $(MAKE) --no-print-directory -C cmd/oteltestbedcol fmt # Build the Collector executable, with only components used in testbed. .PHONY: oteltestbedcol -oteltestbedcol: +oteltestbedcol: genoteltestbedcol cd ./cmd/oteltestbedcol && GO111MODULE=on CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/oteltestbedcol_$(GOOS)_$(GOARCH)$(EXTENSION) \ -tags $(GO_BUILD_TAGS) . +.PHONY: oteltestbedcollite +oteltestbedcollite: genoteltestbedcol + cd ./cmd/oteltestbedcol && GO111MODULE=on CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/oteltestbedcol_$(GOOS)_$(GOARCH)$(EXTENSION) \ + -tags $(GO_BUILD_TAGS) -ldflags $(GO_BUILD_LDFLAGS) . + # Build the telemetrygen executable. .PHONY: telemetrygen telemetrygen: cd ./cmd/telemetrygen && GO111MODULE=on CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/telemetrygen_$(GOOS)_$(GOARCH)$(EXTENSION) \ -tags $(GO_BUILD_TAGS) . +.PHONY: telemetrygenlite +telemetrygenlite: + cd ./cmd/telemetrygen && GO111MODULE=on CGO_ENABLED=0 $(GOCMD) build -trimpath -o ../../bin/telemetrygen_$(GOOS)_$(GOARCH)$(EXTENSION) \ + -tags $(GO_BUILD_TAGS) -ldflags $(GO_BUILD_LDFLAGS) . + # helper function to update the core packages in builder-config.yaml # input parameters are # $(1) = path/to/versions.yaml (where it greps the relevant packages) @@ -365,16 +395,16 @@ define updatehelper echo "Usage: updatehelper "; \ exit 1; \ fi - grep "go\.opentelemetry\.io" $(1) | sed 's/^\s*-\s*//' | while IFS= read -r line; do \ + grep "go\.opentelemetry\.io" $(1) | sed 's/^[[:space:]]*-[[:space:]]*//' | while IFS= read -r line; do \ if grep -qF "$$line" $(2); then \ package=$$(grep -F "$$line" $(2) | head -n 1 | awk '{print $$1}'); \ version=$$(grep -F "$$line" $(2) | head -n 1 | awk '{print $$2}'); \ builder_package=$$(grep -F "$$package" $(3) | awk '{print $$3}'); \ builder_version=$$(grep -F "$$package" $(3) | awk '{print $$4}'); \ if [ "$$builder_package" == "$$package" ]; then \ - echo "$$builder_version";\ - sed -i -e "s|$$builder_package.*$$builder_version|$$builder_package $$version|" $(3); \ - echo "[$(3)]: $$package updated to $$version"; \ + sed -i.bak -e "s|$$builder_package.*$$builder_version|$$builder_package $$version|" $(3); \ + rm $(3).bak; \ + echo "[$(3)]: $$package updated from $$builder_version to $$version"; \ fi; \ fi; \ done @@ -387,12 +417,13 @@ update-otel:$(MULTIMOD) git add . && git commit -s -m "[chore] multimod update stable modules" ; \ $(MULTIMOD) sync -s=true -o ../opentelemetry-collector -m beta --commit-hash $(OTEL_VERSION) git add . && git commit -s -m "[chore] multimod update beta modules" ; \ - $(call updatehelper,$(CORE_VERSIONS),$(GOMOD),./cmd/otelcontribcol/builder-config.yaml) - $(call updatehelper,$(CORE_VERSIONS),$(GOMOD),./cmd/oteltestbedcol/builder-config.yaml) $(MAKE) gotidy + $(call updatehelper,$(CORE_VERSIONS),$(GOMOD),./cmd/otelcontribcol/builder-config.yaml) + $(call updatehelper,$(CORE_VERSIONS),$(GOMOD),./cmd/oteltestbedcol/builder-config.yaml) $(MAKE) genotelcontribcol $(MAKE) genoteltestbedcol $(MAKE) oteltestbedcol + $(MAKE) remove-toolchain .PHONY: otel-from-tree otel-from-tree: @@ -520,6 +551,8 @@ clean: find . -type f -name 'coverage.out' -delete find . -type f -name 'integration-coverage.txt' -delete find . -type f -name 'integration-coverage.html' -delete + @echo "Removing built binary files" + find . -type f -name 'builtunitetest.test' -delete .PHONY: generate-gh-issue-templates generate-gh-issue-templates: @@ -539,4 +572,4 @@ checks: $(MAKE) gendistributions $(MAKE) -j4 generate $(MAKE) multimod-verify - git diff --exit-code || (echo 'Some files need committing' && git status && exit 1) + git diff --exit-code || (echo 'Some files need committing' && git status && exit 1) diff --git a/Makefile.Common b/Makefile.Common index 53584bf57e14..07ce7e0d9062 100644 --- a/Makefile.Common +++ b/Makefile.Common @@ -21,10 +21,12 @@ endif # SRC_ROOT is the top of the source tree. SRC_ROOT := $(shell git rev-parse --show-toplevel) # SRC_PARENT_DIR is the absolute path of source tree's parent directory -SRC_PARENT_DIR := $(shell dirname $(SRC_ROOT)) +SRC_PARENT_DIR := $(shell dirname $(SRC_ROOT)) # build tags required by any component should be defined as an independent variables and later added to GO_BUILD_TAGS below GO_BUILD_TAGS="" +# These ldflags allow the build tool to omit the symbol table, debug information, and the DWARF symbol table to downscale binary size. +GO_BUILD_LDFLAGS="-s -w" GOTEST_TIMEOUT?= 600s GOTEST_OPT?= -race -timeout $(GOTEST_TIMEOUT) -parallel 4 --tags=$(GO_BUILD_TAGS) GOTEST_INTEGRATION_OPT?= -race -timeout 360s -parallel 4 @@ -34,6 +36,7 @@ GOTEST_OPT_WITH_INTEGRATION_COVERAGE=$(GOTEST_OPT_WITH_INTEGRATION) -coverprofil GOCMD?= go GOOS=$(shell $(GOCMD) env GOOS) GOARCH=$(shell $(GOCMD) env GOARCH) +GOTESTARCH?=$(GOARCH) # In order to help reduce toil related to managing tooling for the open telemetry collector # this section of the makefile looks at only requiring command definitions to be defined @@ -75,7 +78,7 @@ GOTESTSUM := $(TOOLS_BIN_DIR)/gotestsum TESTIFYLINT := $(TOOLS_BIN_DIR)/testifylint GOTESTSUM_OPT?= --rerun-fails=1 -TESTIFYLINT_OPT?= --enable-all --disable=float-compare,formatter,go-require,negative-positive,require-error,suite-dont-use-pkg,suite-subtest-run,useless-assert +TESTIFYLINT_OPT?= --enable-all --disable=float-compare,require-error,suite-subtest-run,encoded-compare # BUILD_TYPE should be one of (dev, release). BUILD_TYPE?=release @@ -87,7 +90,7 @@ ALL_SRC := $(shell find $(ALL_PKG_DIRS) -name '*.go' \ -not -path '*/local/*' \ -type f | sort) -ALL_SRC_AND_SHELL := find . -type f \( -iname '*.go' -o -iname "*.sh" \) ! -path '**/third_party/*' | sort +ALL_SRC_AND_SHELL := find . -type f \( -iname '*.go' -o -iname "*.sh" \) ! -path '**/third_party/*' | sort # All source code and documents. Used in spell check. ALL_SRC_AND_DOC_CMD := find $(ALL_PKG_DIRS) -name "*.md" -o -name "*.go" -o -name "*.yaml" -not -path '*/third_party/*' -type f | sort @@ -135,24 +138,36 @@ test-with-cover: $(GOTESTSUM) .PHONY: do-unit-tests-with-cover do-unit-tests-with-cover: $(GOTESTSUM) @echo "running $(GOCMD) unit test ./... + coverage in `pwd`" - $(GOTESTSUM) $(GOTESTSUM_OPT) --packages="./..." -- $(GOTEST_OPT_WITH_COVERAGE) + $(GOTESTSUM) $(GOTESTSUM_OPT) --packages="./..." -- $(GOTEST_OPT_WITH_COVERAGE) $(GOCMD) tool cover -html=coverage.txt -o coverage.html +.PHONY: buildtest +buildtest: +ifneq (,$(wildcard ./*.go)) + GOARCH=$(GOTESTARCH) CGO_ENABLED=1 $(GOCMD) test -c -o builtunitetest.test +endif + +.PHONY: runbuilttest +runbuilttest: $(GOTESTSUM) +ifneq (,$(wildcard ./builtunitetest.test)) + $(GOTESTSUM) --raw-command -- $(GOCMD) tool test2json -p "./..." -t ./builtunitetest.test -test.v -test.failfast -test.timeout $(GOTEST_TIMEOUT) +endif + .PHONY: mod-integration-test mod-integration-test: $(GOTESTSUM) @echo "running $(GOCMD) integration test ./... in `pwd`" $(GOTESTSUM) $(GOTESTSUM_OPT) --packages="./..." -- $(GOTEST_OPT_WITH_INTEGRATION) @if [ -e integration-coverage.txt ]; then \ - $(GOCMD) tool cover -html=integration-coverage.txt -o integration-coverage.html; \ - fi + $(GOCMD) tool cover -html=integration-coverage.txt -o integration-coverage.html; \ + fi .PHONY: do-integration-tests-with-cover do-integration-tests-with-cover: $(GOTESTSUM) @echo "running $(GOCMD) integration test ./... + coverage in `pwd`" - $(GOTESTSUM) $(GOTESTSUM_OPT) --packages="./..." -- $(GOTEST_OPT_WITH_INTEGRATION_COVERAGE) + $(GOTESTSUM) $(GOTESTSUM_OPT) --packages="./..." -- $(GOTEST_OPT_WITH_INTEGRATION_COVERAGE) @if [ -e integration-coverage.txt ]; then \ - $(GOCMD) tool cover -html=integration-coverage.txt -o integration-coverage.html; \ - fi + $(GOCMD) tool cover -html=integration-coverage.txt -o integration-coverage.html; \ + fi .PHONY: benchmark benchmark: $(GOTESTSUM) @@ -193,8 +208,8 @@ checklinks: .PHONY: fmt fmt: $(GOIMPORTS) - gofmt -w -s ./ - $(GOIMPORTS) -w -local github.com/open-telemetry/opentelemetry-collector-contrib ./ + gofmt -w -s ./ + $(GOIMPORTS) -w -local github.com/open-telemetry/opentelemetry-collector-contrib ./ .PHONY: lint lint: $(LINT) checklicense misspell @@ -209,6 +224,10 @@ tidy: rm -fr go.sum $(GOCMD) mod tidy -compat=1.22.0 +.PHONY: toolchain +toolchain: + $(GOCMD) get toolchain@none + .PHONY: misspell misspell: $(TOOLS_BIN_DIR)/misspell @echo "running $(MISSPELL)" diff --git a/README.md b/README.md index 16d53855266f..77791d4f7424 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Vision   •   - Monitoring + Observability   •   Security   •   @@ -59,7 +59,7 @@ Some features are hidden behind feature gates before they are part of the main c Each component is supported either by the community of OpenTelemetry Collector Contrib maintainers, as defined by the GitHub group [@open-telemetry/collector-contrib-maintainer](https://github.com/orgs/open-telemetry/teams/collector-contrib-maintainer), or by specific vendors. See the individual README files for information about the specific components. -The OpenTelemetry Collector Contrib maintainers may at any time downgrade specific components, including vendor-specific ones, if they are deemed unmaintained or if they pose a risk to the repository and/or binary distribution. +The OpenTelemetry Collector Contrib maintainers may at any time downgrade specific components if they are deemed unmaintained or if they pose a risk to the repository and/or binary distribution. Even though the OpenTelemetry Collector Contrib maintainers are ultimately responsible for the components hosted here, actual support will likely be provided by individual contributors, typically a code owner for the specific component. @@ -73,20 +73,21 @@ Triagers ([@open-telemetry/collector-contrib-triagers](https://github.com/orgs/o - [Christos Markou](https://github.com/ChrsMark), Elastic - [Jared Tan](https://github.com/JaredTan95), DaoCloud - [Murphy Chen](https://github.com/Frapschen), DaoCloud +- [Paulo Janotti](https://github.com/pjanotti), Splunk - Actively seeking contributors to triage issues Emeritus Triagers: -- [Alolita Sharma](https://github.com/alolita), Apple -- [Gabriel Aszalos](https://github.com/gbbr), DataDog -- [Goutham Veeramachaneni](https://github.com/gouthamve), Grafana -- [Punya Biswal](https://github.com/punya), Google -- [Steve Flanders](https://github.com/flands), Splunk +- [Alolita Sharma](https://github.com/alolita) +- [Gabriel Aszalos](https://github.com/gbbr) +- [Goutham Veeramachaneni](https://github.com/gouthamve) +- [Punya Biswal](https://github.com/punya) +- [Steve Flanders](https://github.com/flands) Approvers ([@open-telemetry/collector-contrib-approvers](https://github.com/orgs/open-telemetry/teams/collector-contrib-approvers)): - [Antoine Toulme](https://github.com/atoulme), Splunk -- [Curtis Robert](https://github.com/crobert-1), Splunk +- [Curtis Robert](https://github.com/crobert-1), Splunk (on leave) - [David Ashpole](https://github.com/dashpole), Google - [Matt Wear](https://github.com/mwear), Lightstep - [Yang Song](https://github.com/songy23), DataDog @@ -94,8 +95,8 @@ Approvers ([@open-telemetry/collector-contrib-approvers](https://github.com/orgs Emeritus Approvers: -- [Anthony Mirabella](https://github.com/Aneurysm9), AWS -- [Bryan Aguilar](https://github.com/bryan-aguilar), AWS +- [Anthony Mirabella](https://github.com/Aneurysm9) +- [Bryan Aguilar](https://github.com/bryan-aguilar) - [Przemek Maciolek](https://github.com/pmm-sumo) - [Ruslan Kovalov](https://github.com/kovrus) @@ -114,7 +115,7 @@ Maintainers ([@open-telemetry/collector-contrib-maintainer](https://github.com/o Emeritus Maintainers -- [Tigran Najaryan](https://github.com/tigrannajaryan), Splunk +- [Tigran Najaryan](https://github.com/tigrannajaryan) Learn more about roles in the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md). diff --git a/cmd/githubgen/allowlist.txt b/cmd/githubgen/allowlist.txt index 949c4fd14624..8f167c094a33 100644 --- a/cmd/githubgen/allowlist.txt +++ b/cmd/githubgen/allowlist.txt @@ -22,4 +22,7 @@ tomasmota m1rp jriguera abhishek-at-cloudwerx -joker-star-l \ No newline at end of file +joker-star-l +michael-burt +Hemansh31 +shazlehu \ No newline at end of file diff --git a/cmd/githubgen/codeowners.go b/cmd/githubgen/codeowners.go index 0ea83d9ca7bf..dbe8c64f4e85 100644 --- a/cmd/githubgen/codeowners.go +++ b/cmd/githubgen/codeowners.go @@ -10,7 +10,7 @@ import ( "sort" "strings" - "github.com/google/go-github/v63/github" + "github.com/google/go-github/v66/github" ) const allowlistHeader = `# Code generated by githubgen. DO NOT EDIT. diff --git a/cmd/githubgen/go.mod b/cmd/githubgen/go.mod index 9b8fc8652d76..24938d9e786c 100644 --- a/cmd/githubgen/go.mod +++ b/cmd/githubgen/go.mod @@ -3,14 +3,14 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/cmd/githubgen go 1.22.0 require ( - github.com/google/go-github/v63 v63.0.0 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 + github.com/google/go-github/v66 v66.0.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect diff --git a/cmd/githubgen/go.sum b/cmd/githubgen/go.sum index 36df56c18ad0..cff6a575491b 100644 --- a/cmd/githubgen/go.sum +++ b/cmd/githubgen/go.sum @@ -1,12 +1,12 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github/v63 v63.0.0 h1:13xwK/wk9alSokujB9lJkuzdmQuVn2QCPeck76wR3nE= -github.com/google/go-github/v63 v63.0.0/go.mod h1:IqbcrgUmIcEaioWrGYei/09o+ge5vhffGOcxrO0AfmA= +github.com/google/go-github/v66 v66.0.0 h1:ADJsaXj9UotwdgK8/iFZtv7MLc8E8WBl62WLd/D/9+M= +github.com/google/go-github/v66 v66.0.0/go.mod h1:+4SO9Zkuyf8ytMj0csN1NR/5OTR+MfqPp8P8dVlcvY4= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= @@ -29,10 +29,10 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= diff --git a/cmd/opampsupervisor/.gitignore b/cmd/opampsupervisor/.gitignore index fbaf96e91182..dc240c6132a0 100644 --- a/cmd/opampsupervisor/.gitignore +++ b/cmd/opampsupervisor/.gitignore @@ -1,2 +1,3 @@ effective.yaml agent.log +*.dat diff --git a/cmd/opampsupervisor/README.md b/cmd/opampsupervisor/README.md index a292623fc26a..381a9c23b582 100644 --- a/cmd/opampsupervisor/README.md +++ b/cmd/opampsupervisor/README.md @@ -67,7 +67,7 @@ For a list of open issues related to the Supervisor, see [these issues](https:// |--------------------------------|----------------------------------------------------------------------------------| | AcceptsRemoteConfig | ✅ | | ReportsEffectiveConfig | ⚠️ | -| AcceptsPackages | 📅 | +| AcceptsPackages | | | ReportsPackageStatuses | 📅 | | ReportsOwnTraces | 📅 | | ReportsOwnMetrics | ⚠️ | diff --git a/cmd/opampsupervisor/e2e_test.go b/cmd/opampsupervisor/e2e_test.go index 9316e8ffde8a..5b6a7ac4adbf 100644 --- a/cmd/opampsupervisor/e2e_test.go +++ b/cmd/opampsupervisor/e2e_test.go @@ -6,9 +6,11 @@ package main import ( + "bufio" "bytes" "context" "crypto/sha256" + "encoding/json" "errors" "fmt" "io" @@ -40,10 +42,12 @@ import ( "github.com/stretchr/testify/require" semconv "go.opentelemetry.io/collector/semconv/v1.21.0" "go.uber.org/zap" + "go.uber.org/zap/zapcore" "google.golang.org/protobuf/proto" "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor" "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/config" + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/telemetry" ) var _ clientTypes.Logger = testLogger{} @@ -154,7 +158,11 @@ func newUnstartedOpAMPServer(t *testing.T, connectingCallback onConnectingFuncFa func newSupervisor(t *testing.T, configType string, extraConfigData map[string]string) *supervisor.Supervisor { cfgFile := getSupervisorConfig(t, configType, extraConfigData) - s, err := supervisor.NewSupervisor(zap.NewNop(), cfgFile.Name()) + + cfg, err := config.Load(cfgFile.Name()) + require.NoError(t, err) + + s, err := supervisor.NewSupervisor(zap.NewNop(), cfg) require.NoError(t, err) return s @@ -345,20 +353,15 @@ func TestSupervisorStartsWithNoOpAMPServer(t *testing.T) { require.Nil(t, s.Start()) defer s.Shutdown() - // Verify the collector is running by checking the metrics endpoint - require.Eventually(t, func() bool { - resp, err := http.DefaultClient.Get("http://localhost:12345") - if err != nil { - t.Logf("Failed agent healthcheck request: %s", err) - return false - } - require.NoError(t, resp.Body.Close()) - if resp.StatusCode >= 300 || resp.StatusCode < 200 { - t.Logf("Got non-2xx status code: %d", resp.StatusCode) - return false - } - return true - }, 3*time.Second, 100*time.Millisecond) + // Verify the collector is not running after 250 ms by checking the healthcheck endpoint + time.Sleep(250 * time.Millisecond) + _, err := http.DefaultClient.Get("http://localhost:12345") + + if runtime.GOOS != "windows" { + require.ErrorContains(t, err, "connection refused") + } else { + require.ErrorContains(t, err, "No connection could be made") + } // Start the server and wait for the supervisor to connect server.start() @@ -749,7 +752,8 @@ func TestSupervisorAgentDescriptionConfigApplies(t *testing.T) { }, } - require.Equal(t, expectedDescription, ad.AgentDescription) + require.Subset(t, ad.AgentDescription.IdentifyingAttributes, expectedDescription.IdentifyingAttributes) + require.Subset(t, ad.AgentDescription.NonIdentifyingAttributes, expectedDescription.NonIdentifyingAttributes) time.Sleep(250 * time.Millisecond) } @@ -1262,6 +1266,183 @@ func TestSupervisorWritesAgentFilesToStorageDir(t *testing.T) { require.FileExists(t, filepath.Join(storageDir, "effective.yaml")) } +func TestSupervisorStopsAgentProcessWithEmptyConfigMap(t *testing.T) { + agentCfgChan := make(chan string, 1) + server := newOpAMPServer( + t, + defaultConnectingHandler, + server.ConnectionCallbacksStruct{ + OnMessageFunc: func(_ context.Context, _ types.Connection, message *protobufs.AgentToServer) *protobufs.ServerToAgent { + if message.EffectiveConfig != nil { + config := message.EffectiveConfig.ConfigMap.ConfigMap[""] + if config != nil { + select { + case agentCfgChan <- string(config.Body): + default: + } + } + } + + return &protobufs.ServerToAgent{} + }, + }) + + s := newSupervisor(t, "healthcheck_port", map[string]string{ + "url": server.addr, + "healthcheck_port": "12345", + }) + + require.Nil(t, s.Start()) + defer s.Shutdown() + + waitForSupervisorConnection(server.supervisorConnected, true) + + cfg, hash, _, _ := createSimplePipelineCollectorConf(t) + + server.sendToSupervisor(&protobufs.ServerToAgent{ + RemoteConfig: &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": {Body: cfg.Bytes()}, + }, + }, + ConfigHash: hash, + }, + }) + + select { + case <-agentCfgChan: + case <-time.After(1 * time.Second): + require.FailNow(t, "timed out waitng for agent to report its initial config") + } + + // Use health check endpoint to determine if the collector is actually running + require.Eventually(t, func() bool { + resp, err := http.DefaultClient.Get("http://localhost:12345") + if err != nil { + t.Logf("Failed agent healthcheck request: %s", err) + return false + } + require.NoError(t, resp.Body.Close()) + if resp.StatusCode >= 300 || resp.StatusCode < 200 { + t.Logf("Got non-2xx status code: %d", resp.StatusCode) + return false + } + return true + }, 3*time.Second, 100*time.Millisecond) + + // Send empty config + emptyHash := sha256.Sum256([]byte{}) + server.sendToSupervisor(&protobufs.ServerToAgent{ + RemoteConfig: &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{}, + }, + ConfigHash: emptyHash[:], + }, + }) + + select { + case <-agentCfgChan: + case <-time.After(1 * time.Second): + require.FailNow(t, "timed out waitng for agent to report its noop config") + } + + // Verify the collector is not running after 250 ms by checking the healthcheck endpoint + time.Sleep(250 * time.Millisecond) + _, err := http.DefaultClient.Get("http://localhost:12345") + if runtime.GOOS != "windows" { + require.ErrorContains(t, err, "connection refused") + } else { + require.ErrorContains(t, err, "No connection could be made") + } + +} + +type LogEntry struct { + Level string `json:"level"` + Logger string `json:"logger"` +} + +func TestSupervisorLogging(t *testing.T) { + // Tests that supervisor only logs at Info level and above && that collector logs passthrough and are present in supervisor log file + if runtime.GOOS == "windows" { + t.Skip("Zap does not close the log file and Windows disallows removing files that are still opened.") + } + + storageDir := t.TempDir() + remoteCfgFilePath := filepath.Join(storageDir, "last_recv_remote_config.dat") + + collectorCfg, hash, _, _ := createSimplePipelineCollectorConf(t) + remoteCfgProto := &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": {Body: collectorCfg.Bytes()}, + }, + }, + ConfigHash: hash, + } + marshalledRemoteCfg, err := proto.Marshal(remoteCfgProto) + require.NoError(t, err) + require.NoError(t, os.WriteFile(remoteCfgFilePath, marshalledRemoteCfg, 0600)) + + connected := atomic.Bool{} + server := newUnstartedOpAMPServer(t, defaultConnectingHandler, server.ConnectionCallbacksStruct{ + OnConnectedFunc: func(ctx context.Context, conn types.Connection) { + connected.Store(true) + }, + }) + defer server.shutdown() + + supervisorLogFilePath := filepath.Join(storageDir, "supervisor_log.log") + cfgFile := getSupervisorConfig(t, "logging", map[string]string{ + "url": server.addr, + "storage_dir": storageDir, + "log_level": "0", + "log_file": supervisorLogFilePath, + }) + + cfg, err := config.Load(cfgFile.Name()) + require.NoError(t, err) + logger, err := telemetry.NewLogger(cfg.Telemetry.Logs) + require.NoError(t, err) + + s, err := supervisor.NewSupervisor(logger, cfg) + require.NoError(t, err) + require.Nil(t, s.Start()) + + // Start the server and wait for the supervisor to connect + server.start() + waitForSupervisorConnection(server.supervisorConnected, true) + require.True(t, connected.Load(), "Supervisor failed to connect") + + s.Shutdown() + + // Read from log file checking for Info level logs + logFile, err := os.Open(supervisorLogFilePath) + require.NoError(t, err) + + scanner := bufio.NewScanner(logFile) + seenCollectorLog := false + for scanner.Scan() { + line := scanner.Bytes() + var log LogEntry + err := json.Unmarshal(line, &log) + require.NoError(t, err) + + level, err := zapcore.ParseLevel(log.Level) + require.NoError(t, err) + require.GreaterOrEqual(t, level, zapcore.InfoLevel) + + if log.Logger == "collector" { + seenCollectorLog = true + } + } + // verify a collector log was read + require.True(t, seenCollectorLog) + require.NoError(t, logFile.Close()) +} + func findRandomPort() (int, error) { l, err := net.Listen("tcp", "localhost:0") diff --git a/cmd/opampsupervisor/go.mod b/cmd/opampsupervisor/go.mod index c48a6263ef03..0f17ddb25cb3 100644 --- a/cmd/opampsupervisor/go.mod +++ b/cmd/opampsupervisor/go.mod @@ -7,18 +7,18 @@ require ( github.com/google/uuid v1.6.0 github.com/knadh/koanf/maps v0.1.1 github.com/knadh/koanf/parsers/yaml v0.1.0 - github.com/knadh/koanf/providers/file v1.1.0 + github.com/knadh/koanf/providers/file v1.1.2 github.com/knadh/koanf/providers/rawbytes v0.1.0 github.com/knadh/koanf/v2 v2.1.1 github.com/open-telemetry/opamp-go v0.15.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - golang.org/x/sys v0.24.0 - google.golang.org/protobuf v1.34.2 + golang.org/x/sys v0.26.0 + google.golang.org/protobuf v1.35.1 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/cmd/opampsupervisor/go.sum b/cmd/opampsupervisor/go.sum index a76872f2bf28..e6c6b13947d6 100644 --- a/cmd/opampsupervisor/go.sum +++ b/cmd/opampsupervisor/go.sum @@ -16,8 +16,8 @@ github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NI github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/parsers/yaml v0.1.0 h1:ZZ8/iGfRLvKSaMEECEBPM1HQslrZADk8fP1XFUxVI5w= github.com/knadh/koanf/parsers/yaml v0.1.0/go.mod h1:cvbUDC7AL23pImuQP0oRw/hPuccrNBS2bps8asS0CwY= -github.com/knadh/koanf/providers/file v1.1.0 h1:MTjA+gRrVl1zqgetEAIaXHqYje0XSosxSiMD4/7kz0o= -github.com/knadh/koanf/providers/file v1.1.0/go.mod h1:/faSBcv2mxPVjFrXck95qeoyoZ5myJ6uxN8OOVNJJCI= +github.com/knadh/koanf/providers/file v1.1.2 h1:aCC36YGOgV5lTtAFz2qkgtWdeQsgfxUkxDOe+2nQY3w= +github.com/knadh/koanf/providers/file v1.1.2/go.mod h1:/faSBcv2mxPVjFrXck95qeoyoZ5myJ6uxN8OOVNJJCI= github.com/knadh/koanf/providers/rawbytes v0.1.0 h1:dpzgu2KO6uf6oCb4aP05KDmKmAmI51k5pe8RYKQ0qME= github.com/knadh/koanf/providers/rawbytes v0.1.0/go.mod h1:mMTB1/IcJ/yE++A2iEZbY1MLygX7vttU+C+S/YmPu9c= github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= @@ -38,12 +38,12 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -52,10 +52,10 @@ go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/cmd/opampsupervisor/main.go b/cmd/opampsupervisor/main.go index 3e58ee4730a7..533a1f54c591 100644 --- a/cmd/opampsupervisor/main.go +++ b/cmd/opampsupervisor/main.go @@ -5,36 +5,50 @@ package main import ( "flag" + "fmt" + "log" "os" "os/signal" - "go.uber.org/zap" - "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor" + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/config" + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/telemetry" ) func main() { + if err := run(); err != nil { + log.Fatal(err) + } +} + +func runInteractive() error { configFlag := flag.String("config", "", "Path to a supervisor configuration file") flag.Parse() - logger, _ := zap.NewDevelopment() + cfg, err := config.Load(*configFlag) + if err != nil { + return fmt.Errorf("failed to load config: %w", err) + } + + logger, err := telemetry.NewLogger(cfg.Telemetry.Logs) + if err != nil { + return fmt.Errorf("failed to create logger: %w", err) + } - supervisor, err := supervisor.NewSupervisor(logger, *configFlag) + supervisor, err := supervisor.NewSupervisor(logger, cfg) if err != nil { - logger.Error(err.Error()) - os.Exit(-1) - return + return fmt.Errorf("failed to create supervisor: %w", err) } err = supervisor.Start() if err != nil { - logger.Error(err.Error()) - os.Exit(-1) - return + return fmt.Errorf("failed to start supervisor: %w", err) } interrupt := make(chan os.Signal, 1) signal.Notify(interrupt, os.Interrupt) <-interrupt supervisor.Shutdown() + + return nil } diff --git a/cmd/opampsupervisor/main_others.go b/cmd/opampsupervisor/main_others.go new file mode 100644 index 000000000000..e8cec740c72a --- /dev/null +++ b/cmd/opampsupervisor/main_others.go @@ -0,0 +1,10 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:build !windows + +package main + +func run() error { + return runInteractive() +} diff --git a/cmd/opampsupervisor/main_windows.go b/cmd/opampsupervisor/main_windows.go new file mode 100644 index 000000000000..4db4277611e4 --- /dev/null +++ b/cmd/opampsupervisor/main_windows.go @@ -0,0 +1,71 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:build windows + +package main + +import ( + "errors" + "fmt" + + "golang.org/x/sys/windows" + "golang.org/x/sys/windows/svc" + + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor" +) + +var ( + kernel32API = windows.NewLazySystemDLL("kernel32.dll") + + allocConsoleProc = kernel32API.NewProc("AllocConsole") + freeConsoleProc = kernel32API.NewProc("FreeConsole") +) + +func run() error { + // always allocate a console in case we're running as service + if err := allocConsole(); err != nil { + if !errors.Is(err, windows.ERROR_ACCESS_DENIED) { + // Per https://learn.microsoft.com/en-us/windows/console/allocconsole#remarks + // AllocConsole fails with this error when there's already a console attached, such as not being ran as service + // ignore this error and only return other errors + return fmt.Errorf("alloc console: %w", err) + } + + } + defer func() { + _ = freeConsole() + }() + + // No need to supply service name when startup is invoked through + // the Service Control Manager directly. + if err := svc.Run("", supervisor.NewSvcHandler()); err != nil { + if errors.Is(err, windows.ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) { + // Per https://learn.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-startservicectrldispatchera#return-value + // this means that the process is not running as a service, so run interactively. + + return runInteractive() + } + return fmt.Errorf("failed to start supervisor: %w", err) + } + return nil +} + +// windows services don't get created with a console +// need to allocate a console in order to send CTRL_BREAK_EVENT to agent sub process +func allocConsole() error { + ret, _, err := allocConsoleProc.Call() + if ret == 0 { + return err + } + return nil +} + +// free console once we're done with it +func freeConsole() error { + ret, _, err := freeConsoleProc.Call() + if ret == 0 { + return err + } + return nil +} diff --git a/cmd/opampsupervisor/specification/README.md b/cmd/opampsupervisor/specification/README.md index 10df4925e0ca..a45d7b6d38d1 100644 --- a/cmd/opampsupervisor/specification/README.md +++ b/cmd/opampsupervisor/specification/README.md @@ -126,6 +126,9 @@ agent: # The interval on which the Collector checks to see if it's been orphaned. orphan_detection_interval: 5s + # The maximum wait duration for retrieving bootstrapping information from the agent + bootstrap_timeout: 3s + # Extra command line flags to pass to the Collector executable. args: @@ -163,9 +166,9 @@ agent: ### Operation When OpAMP Server is Unavailable When the supervisor cannot connect to the OpAMP server, the collector will -be run with the last known configuration, or with a "noop" configuration -if no previous configuration is persisted. The supervisor will continually -attempt to reconnect to the OpAMP server with exponential backoff. +be run with the last known configuration if a previous configuration is persisted. +If no previous configuration has been persisted, the collector does not run. +The supervisor will continually attempt to reconnect to the OpAMP server with exponential backoff. ### Executing Collector @@ -201,6 +204,10 @@ Configuration*](https://github.com/open-telemetry/opamp-spec/blob/main/specifica from the OpAMP Backend, merges it with an optional local config file and writes it to the Collector's config file, then restarts the Collector. +If the remote configuration from the OpAMP Backend contains an empty config map, +the collector will be stopped and will not be run again until a non-empty config map +is received from the OpAMP Backend. + In the future once config file watching is implemented the Collector can reload the config without the need for the Supervisor to restart the Collector process. @@ -241,13 +248,13 @@ configuration. To overcome this problem the Supervisor starts the Collector with an "noop" configuration that collects nothing but allows the opamp extension to be started. The "noop" configuration is a single pipeline -with an OTLP receiver that listens on a random port and a debug -exporter, and the opamp extension. The purpose of the "noop" -configuration is to make sure the Collector starts and the opamp -extension communicates with the Supervisor. +with an nop receiver, a nop exporter, and the opamp extension. +The purpose of the "noop" configuration is to make sure the Collector starts +and the opamp extension communicates with the Supervisor. The Collector is stopped +after the AgentDescription is received from the Collector. Once the initial Collector launch is successful and the remote -configuration is received by the Supervisor the Supervisor restarts the +configuration is received by the Supervisor the Supervisor starts the Collector with the new config. The new config is also cached by the Supervisor in a local file, so that subsequent restarts no longer need to start the Collector using the "noop" configuration. Caching of the diff --git a/cmd/opampsupervisor/supervisor/commander/commander.go b/cmd/opampsupervisor/supervisor/commander/commander.go index c9891d7b7d60..1a2e6973f0ec 100644 --- a/cmd/opampsupervisor/supervisor/commander/commander.go +++ b/cmd/opampsupervisor/supervisor/commander/commander.go @@ -4,6 +4,7 @@ package commander import ( + "bufio" "context" "errors" "fmt" @@ -71,15 +72,32 @@ func (c *Commander) Start(ctx context.Context) error { c.logger.Debug("Starting agent", zap.String("agent", c.cfg.Executable)) + c.cmd = exec.CommandContext(ctx, c.cfg.Executable, c.args...) // #nosec G204 + c.cmd.SysProcAttr = sysProcAttrs() + + // PassthroughLogging changes how collector start up happens + if c.cfg.PassthroughLogs { + return c.startWithPassthroughLogging() + } + return c.startNormal() +} + +func (c *Commander) Restart(ctx context.Context) error { + c.logger.Debug("Restarting agent", zap.String("agent", c.cfg.Executable)) + if err := c.Stop(ctx); err != nil { + return err + } + + return c.Start(ctx) +} + +func (c *Commander) startNormal() error { logFilePath := filepath.Join(c.logsDir, "agent.log") stdoutFile, err := os.Create(logFilePath) if err != nil { return fmt.Errorf("cannot create %s: %w", logFilePath, err) } - c.cmd = exec.CommandContext(ctx, c.cfg.Executable, c.args...) // #nosec G204 - c.cmd.SysProcAttr = sysProcAttrs() - // Capture standard output and standard error. // https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/21072 c.cmd.Stdout = stdoutFile @@ -87,29 +105,68 @@ func (c *Commander) Start(ctx context.Context) error { if err := c.cmd.Start(); err != nil { stdoutFile.Close() - return err + return fmt.Errorf("startNormal: %w", err) } c.logger.Debug("Agent process started", zap.Int("pid", c.cmd.Process.Pid)) c.running.Store(1) - go c.watch(stdoutFile) + go func() { + defer stdoutFile.Close() + c.watch() + }() return nil } -func (c *Commander) Restart(ctx context.Context) error { - c.logger.Debug("Restarting agent", zap.String("agent", c.cfg.Executable)) - if err := c.Stop(ctx); err != nil { - return err +func (c *Commander) startWithPassthroughLogging() error { + // grab cmd pipes + stdoutPipe, err := c.cmd.StdoutPipe() + if err != nil { + return fmt.Errorf("stdoutPipe: %w", err) + } + stderrPipe, err := c.cmd.StderrPipe() + if err != nil { + return fmt.Errorf("stderrPipe: %w", err) } - return c.Start(ctx) -} + // start agent + if err := c.cmd.Start(); err != nil { + return fmt.Errorf("start: %w", err) + } + c.running.Store(1) -func (c *Commander) watch(stdoutFile *os.File) { - defer stdoutFile.Close() + colLogger := c.logger.Named("collector") + + // capture agent output + go func() { + scanner := bufio.NewScanner(stdoutPipe) + for scanner.Scan() { + line := scanner.Text() + colLogger.Info(line) + } + if err := scanner.Err(); err != nil { + c.logger.Error("Error reading agent stdout: %w", zap.Error(err)) + } + }() + go func() { + scanner := bufio.NewScanner(stderrPipe) + for scanner.Scan() { + line := scanner.Text() + colLogger.Info(line) + } + if err := scanner.Err(); err != nil { + c.logger.Error("Error reading agent stderr: %w", zap.Error(err)) + } + }() + + c.logger.Debug("Agent process started", zap.Int("pid", c.cmd.Process.Pid)) + + go c.watch() + return nil +} +func (c *Commander) watch() { err := c.cmd.Wait() // cmd.Wait returns an exec.ExitError when the Collector exits unsuccessfully or stops diff --git a/cmd/opampsupervisor/supervisor/commander/commander_windows.go b/cmd/opampsupervisor/supervisor/commander/commander_windows.go index 3256f1d570da..4f2812903462 100644 --- a/cmd/opampsupervisor/supervisor/commander/commander_windows.go +++ b/cmd/opampsupervisor/supervisor/commander/commander_windows.go @@ -6,6 +6,7 @@ package commander import ( + "fmt" "os" "syscall" @@ -24,7 +25,7 @@ func sendShutdownSignal(process *os.Process) error { // See: https://learn.microsoft.com/en-us/windows/console/generateconsolectrlevent r, _, e := ctrlEventProc.Call(syscall.CTRL_BREAK_EVENT, uintptr(process.Pid)) if r == 0 { - return e + return fmt.Errorf("sendShutdownSignal to PID '%d': %w", process.Pid, e) } return nil diff --git a/cmd/opampsupervisor/supervisor/config/config.go b/cmd/opampsupervisor/supervisor/config/config.go index 7e8d2124c356..5e6049dddbd8 100644 --- a/cmd/opampsupervisor/supervisor/config/config.go +++ b/cmd/opampsupervisor/supervisor/config/config.go @@ -13,8 +13,12 @@ import ( "runtime" "time" + "github.com/knadh/koanf/parsers/yaml" + "github.com/knadh/koanf/providers/file" + "github.com/knadh/koanf/v2" "github.com/open-telemetry/opamp-go/protobufs" "go.opentelemetry.io/collector/config/configtls" + "go.uber.org/zap/zapcore" ) // Supervisor is the Supervisor config file format. @@ -23,6 +27,34 @@ type Supervisor struct { Agent Agent Capabilities Capabilities `mapstructure:"capabilities"` Storage Storage `mapstructure:"storage"` + Telemetry Telemetry `mapstructure:"telemetry"` +} + +// Load loads the Supervisor config from a file. +func Load(configFile string) (Supervisor, error) { + if configFile == "" { + return Supervisor{}, errors.New("path to config file cannot be empty") + } + + k := koanf.New("::") + if err := k.Load(file.Provider(configFile), yaml.Parser()); err != nil { + return Supervisor{}, err + } + + decodeConf := koanf.UnmarshalConf{ + Tag: "mapstructure", + } + + cfg := DefaultSupervisor() + if err := k.UnmarshalWithConf("", &cfg, decodeConf); err != nil { + return Supervisor{}, fmt.Errorf("cannot parse %s: %w", configFile, err) + } + + if err := cfg.Validate(); err != nil { + return Supervisor{}, fmt.Errorf("cannot validate supervisor config %s: %w", configFile, err) + } + + return cfg, nil } func (s Supervisor) Validate() error { @@ -121,7 +153,9 @@ type Agent struct { Executable string OrphanDetectionInterval time.Duration `mapstructure:"orphan_detection_interval"` Description AgentDescription `mapstructure:"description"` + BootstrapTimeout time.Duration `mapstructure:"bootstrap_timeout"` HealthCheckPort int `mapstructure:"health_check_port"` + PassthroughLogs bool `mapstructure:"passthrough_logs"` } func (a Agent) Validate() error { @@ -129,6 +163,10 @@ func (a Agent) Validate() error { return errors.New("agent::orphan_detection_interval must be positive") } + if a.BootstrapTimeout <= 0 { + return errors.New("agent::bootstrap_timeout must be positive") + } + if a.HealthCheckPort < 0 || a.HealthCheckPort > 65535 { return errors.New("agent::health_check_port must be a valid port number") } @@ -150,6 +188,17 @@ type AgentDescription struct { NonIdentifyingAttributes map[string]string `mapstructure:"non_identifying_attributes"` } +type Telemetry struct { + // TODO: Add more telemetry options + // Issue here: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/35582 + Logs Logs `mapstructure:"logs"` +} + +type Logs struct { + Level zapcore.Level `mapstructure:"level"` + OutputPaths []string `mapstructure:"output_paths"` +} + // DefaultSupervisor returns the default supervisor config func DefaultSupervisor() Supervisor { defaultStorageDir := "/var/lib/otelcol/supervisor" @@ -180,6 +229,14 @@ func DefaultSupervisor() Supervisor { }, Agent: Agent{ OrphanDetectionInterval: 5 * time.Second, + BootstrapTimeout: 3 * time.Second, + PassthroughLogs: false, + }, + Telemetry: Telemetry{ + Logs: Logs{ + Level: zapcore.InfoLevel, + OutputPaths: []string{"stdout", "stderr"}, + }, }, } } diff --git a/cmd/opampsupervisor/supervisor/config/config_test.go b/cmd/opampsupervisor/supervisor/config/config_test.go index 776523ab0646..92938f210708 100644 --- a/cmd/opampsupervisor/supervisor/config/config_test.go +++ b/cmd/opampsupervisor/supervisor/config/config_test.go @@ -36,6 +36,7 @@ func TestValidate(t *testing.T) { Agent: Agent{ Executable: "${file_path}", OrphanDetectionInterval: 5 * time.Second, + BootstrapTimeout: 5 * time.Second, }, Capabilities: Capabilities{ AcceptsRemoteConfig: true, @@ -163,6 +164,7 @@ func TestValidate(t *testing.T) { Agent: Agent{ Executable: "", OrphanDetectionInterval: 5 * time.Second, + BootstrapTimeout: 5 * time.Second, }, Capabilities: Capabilities{ AcceptsRemoteConfig: true, @@ -188,6 +190,7 @@ func TestValidate(t *testing.T) { Agent: Agent{ Executable: "./path/does/not/exist", OrphanDetectionInterval: 5 * time.Second, + BootstrapTimeout: 5 * time.Second, }, Capabilities: Capabilities{ AcceptsRemoteConfig: true, @@ -239,6 +242,7 @@ func TestValidate(t *testing.T) { Executable: "${file_path}", OrphanDetectionInterval: 5 * time.Second, HealthCheckPort: 65536, + BootstrapTimeout: 5 * time.Second, }, Capabilities: Capabilities{ AcceptsRemoteConfig: true, @@ -265,6 +269,7 @@ func TestValidate(t *testing.T) { Executable: "${file_path}", OrphanDetectionInterval: 5 * time.Second, HealthCheckPort: 0, + BootstrapTimeout: 5 * time.Second, }, Capabilities: Capabilities{ AcceptsRemoteConfig: true, @@ -290,6 +295,7 @@ func TestValidate(t *testing.T) { Executable: "${file_path}", OrphanDetectionInterval: 5 * time.Second, HealthCheckPort: 29848, + BootstrapTimeout: 5 * time.Second, }, Capabilities: Capabilities{ AcceptsRemoteConfig: true, @@ -299,6 +305,32 @@ func TestValidate(t *testing.T) { }, }, }, + { + name: "config with invalid agent bootstrap timeout", + config: Supervisor{ + Server: OpAMPServer{ + Endpoint: "wss://localhost:9090/opamp", + Headers: http.Header{ + "Header1": []string{"HeaderValue"}, + }, + TLSSetting: configtls.ClientConfig{ + Insecure: true, + }, + }, + Agent: Agent{ + Executable: "${file_path}", + OrphanDetectionInterval: 5 * time.Second, + BootstrapTimeout: -5 * time.Second, + }, + Capabilities: Capabilities{ + AcceptsRemoteConfig: true, + }, + Storage: Storage{ + Directory: "/etc/opamp-supervisor/storage", + }, + }, + expectedError: "agent::bootstrap_timeout must be positive", + }, } // create some fake files for validating agent config diff --git a/cmd/opampsupervisor/supervisor/server_test.go b/cmd/opampsupervisor/supervisor/server_test.go new file mode 100644 index 000000000000..e35c11ab186e --- /dev/null +++ b/cmd/opampsupervisor/supervisor/server_test.go @@ -0,0 +1,85 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package supervisor + +import ( + "context" + "net/http" + "testing" + + "github.com/open-telemetry/opamp-go/protobufs" + serverTypes "github.com/open-telemetry/opamp-go/server/types" + "github.com/stretchr/testify/require" +) + +func Test_flattenedSettings_toServerSettings(t *testing.T) { + fs := flattenedSettings{ + endpoint: "localhost", + } + + serverSettings := fs.toServerSettings() + + require.Equal(t, "localhost", serverSettings.ListenEndpoint) + require.NotNil(t, serverSettings.Callbacks) +} + +func Test_flattenedSettings_OnConnecting(t *testing.T) { + t.Run("accept connection", func(t *testing.T) { + onConnectingFuncCalled := false + fs := flattenedSettings{ + onConnectingFunc: func(_ *http.Request) (shouldConnect bool, rejectStatusCode int) { + onConnectingFuncCalled = true + return true, 0 + }, + } + + cr := fs.OnConnecting(&http.Request{}) + + require.True(t, onConnectingFuncCalled) + require.True(t, cr.Accept) + require.NotNil(t, cr.ConnectionCallbacks) + }) + t.Run("do not accept connection", func(t *testing.T) { + onConnectingFuncCalled := false + fs := flattenedSettings{ + onConnectingFunc: func(_ *http.Request) (shouldConnect bool, rejectStatusCode int) { + onConnectingFuncCalled = true + return false, 500 + }, + } + + cr := fs.OnConnecting(&http.Request{}) + + require.True(t, onConnectingFuncCalled) + require.False(t, cr.Accept) + require.Equal(t, 500, cr.HTTPStatusCode) + }) +} + +func Test_flattenedSettings_OnMessage(t *testing.T) { + onMessageFuncCalled := false + fs := flattenedSettings{ + onMessageFunc: func(_ serverTypes.Connection, _ *protobufs.AgentToServer) { + onMessageFuncCalled = true + }, + } + + sta := fs.OnMessage(context.TODO(), &mockConn{}, &protobufs.AgentToServer{}) + + require.True(t, onMessageFuncCalled) + require.NotNil(t, sta) +} + +func Test_flattenedSettings_OnConnectionClose(t *testing.T) { + onConnectionCloseFuncCalled := false + fs := flattenedSettings{ + onConnectionCloseFunc: func(_ serverTypes.Connection) { + onConnectionCloseFuncCalled = true + }, + } + + fs.OnConnectionClose(&mockConn{}) + + require.True(t, onConnectionCloseFuncCalled) +} diff --git a/cmd/opampsupervisor/supervisor/supervisor.go b/cmd/opampsupervisor/supervisor/supervisor.go index 2521a413825c..8d683e5b09b4 100644 --- a/cmd/opampsupervisor/supervisor/supervisor.go +++ b/cmd/opampsupervisor/supervisor/supervisor.go @@ -6,11 +6,13 @@ package supervisor import ( "bytes" "context" + "crypto/tls" _ "embed" "errors" "fmt" "net" "net/http" + "net/url" "os" "path/filepath" "sort" @@ -23,7 +25,6 @@ import ( "github.com/google/uuid" "github.com/knadh/koanf/maps" "github.com/knadh/koanf/parsers/yaml" - "github.com/knadh/koanf/providers/file" "github.com/knadh/koanf/providers/rawbytes" "github.com/knadh/koanf/v2" "github.com/open-telemetry/opamp-go/client" @@ -66,6 +67,17 @@ const ( const maxBufferedCustomMessages = 10 +type configState struct { + // Supervisor-assembled config to be given to the Collector. + mergedConfig string + // true if the server provided configmap was empty + configMapIsEmpty bool +} + +func (c *configState) equal(other *configState) bool { + return other.mergedConfig == c.mergedConfig && other.configMapIsEmpty == c.configMapIsEmpty +} + // Supervisor implements supervising of OpenTelemetry Collector and uses OpAMPClient // to work with an OpAMP Server. type Supervisor struct { @@ -106,8 +118,8 @@ type Supervisor struct { // will listen on for health check requests from the Supervisor. agentHealthCheckEndpoint string - // Supervisor-assembled config to be given to the Collector. - mergedConfig *atomic.Value + // Internal config state for agent use. See the configState struct for more details. + cfgState *atomic.Value // Final effective config of the Collector. effectiveConfig *atomic.Value @@ -136,13 +148,13 @@ type Supervisor struct { opampServerPort int } -func NewSupervisor(logger *zap.Logger, configFile string) (*Supervisor, error) { +func NewSupervisor(logger *zap.Logger, cfg config.Supervisor) (*Supervisor, error) { s := &Supervisor{ logger: logger, pidProvider: defaultPIDProvider{}, hasNewConfig: make(chan struct{}, 1), agentConfigOwnMetricsSection: &atomic.Value{}, - mergedConfig: &atomic.Value{}, + cfgState: &atomic.Value{}, effectiveConfig: &atomic.Value{}, agentDescription: &atomic.Value{}, doneChan: make(chan struct{}), @@ -153,13 +165,10 @@ func NewSupervisor(logger *zap.Logger, configFile string) (*Supervisor, error) { return nil, err } - if err := s.loadConfig(configFile); err != nil { - return nil, fmt.Errorf("error loading config: %w", err) - } - - if err := s.config.Validate(); err != nil { + if err := cfg.Validate(); err != nil { return nil, fmt.Errorf("error validating config: %w", err) } + s.config = cfg if err := os.MkdirAll(s.config.Storage.Directory, 0700); err != nil { return nil, fmt.Errorf("error creating storage dir: %w", err) @@ -190,7 +199,7 @@ func (s *Supervisor) Start() error { s.agentHealthCheckEndpoint = fmt.Sprintf("localhost:%d", healthCheckPort) - s.logger.Debug("Supervisor starting", + s.logger.Info("Supervisor starting", zap.String("id", s.persistentState.InstanceID.String())) err = s.loadAndWriteInitialMergedConfig() @@ -248,28 +257,6 @@ func (s *Supervisor) createTemplates() error { return nil } -func (s *Supervisor) loadConfig(configFile string) error { - if configFile == "" { - return errors.New("path to config file cannot be empty") - } - - k := koanf.New("::") - if err := k.Load(file.Provider(configFile), yaml.Parser()); err != nil { - return err - } - - decodeConf := koanf.UnmarshalConf{ - Tag: "mapstructure", - } - - s.config = config.DefaultSupervisor() - if err := k.UnmarshalWithConf("", &s.config, decodeConf); err != nil { - return fmt.Errorf("cannot parse %v: %w", configFile, err) - } - - return nil -} - // getBootstrapInfo obtains the Collector's agent description by // starting a Collector with a specific config that only starts // an OpAMP extension, obtains the agent description, then @@ -365,8 +352,7 @@ func (s *Supervisor) getBootstrapInfo() (err error) { }() select { - // TODO make timeout configurable - case <-time.After(3 * time.Second): + case <-time.After(s.config.Agent.BootstrapTimeout): if connected.Load() { return errors.New("collector connected but never responded with an AgentDescription message") } else { @@ -392,9 +378,17 @@ func (s *Supervisor) startOpAMP() error { func (s *Supervisor) startOpAMPClient() error { s.opampClient = client.NewWebSocket(newLoggerFromZap(s.logger)) - tlsConfig, err := s.config.Server.TLSSetting.LoadTLSConfig(context.Background()) + // determine if we need to load a TLS config or not + var tlsConfig *tls.Config + parsedURL, err := url.Parse(s.config.Server.Endpoint) if err != nil { - return err + return fmt.Errorf("parse server endpoint: %w", err) + } + if parsedURL.Scheme == "wss" || parsedURL.Scheme == "https" { + tlsConfig, err = s.config.Server.TLSSetting.LoadTLSConfig(context.Background()) + if err != nil { + return err + } } s.logger.Debug("Connecting to OpAMP server...", zap.String("endpoint", s.config.Server.Endpoint), zap.Any("headers", s.config.Server.Headers)) @@ -462,11 +456,17 @@ func (s *Supervisor) startOpAMPClient() error { func (s *Supervisor) startOpAMPServer() error { s.opampServer = server.New(newLoggerFromZap(s.logger)) + var err error + s.opampServerPort, err = s.findRandomPort() + if err != nil { + return err + } + s.logger.Debug("Starting OpAMP server...") connected := &atomic.Bool{} - err := s.opampServer.Start(flattenedSettings{ + err = s.opampServer.Start(flattenedSettings{ endpoint: fmt.Sprintf("localhost:%d", s.opampServerPort), onConnectingFunc: func(_ *http.Request) (bool, int) { // Only allow one agent to be connected the this server at a time. @@ -803,8 +803,8 @@ func (s *Supervisor) loadAndWriteInitialMergedConfig() error { } // write the initial merged config to disk - cfg := s.mergedConfig.Load().(string) - if err := os.WriteFile(s.agentConfigFilePath(), []byte(cfg), 0600); err != nil { + cfgState := s.cfgState.Load().(*configState) + if err := os.WriteFile(s.agentConfigFilePath(), []byte(cfgState.mergedConfig), 0600); err != nil { s.logger.Error("Failed to write agent config.", zap.Error(err)) } @@ -816,9 +816,11 @@ func (s *Supervisor) loadAndWriteInitialMergedConfig() error { func (s *Supervisor) createEffectiveConfigMsg() *protobufs.EffectiveConfig { cfgStr, ok := s.effectiveConfig.Load().(string) if !ok { - cfgStr, ok = s.mergedConfig.Load().(string) + cfgState, ok := s.cfgState.Load().(*configState) if !ok { cfgStr = "" + } else { + cfgStr = cfgState.mergedConfig } } @@ -880,7 +882,11 @@ func (s *Supervisor) setupOwnMetrics(_ context.Context, settings *protobufs.Tele func (s *Supervisor) composeMergedConfig(config *protobufs.AgentRemoteConfig) (configChanged bool, err error) { var k = koanf.New("::") - if c := config.GetConfig(); c != nil { + configMapIsEmpty := len(config.GetConfig().GetConfigMap()) == 0 + + if !configMapIsEmpty { + c := config.GetConfig() + // Sort to make sure the order of merging is stable. var names []string for name := range c.ConfigMap { @@ -949,11 +955,16 @@ func (s *Supervisor) composeMergedConfig(config *protobufs.AgentRemoteConfig) (c } // Check if supervisor's merged config is changed. - newMergedConfig := string(newMergedConfigBytes) + + newConfigState := &configState{ + mergedConfig: string(newMergedConfigBytes), + configMapIsEmpty: configMapIsEmpty, + } + configChanged = false - oldConfig := s.mergedConfig.Swap(newMergedConfig) - if oldConfig == nil || oldConfig.(string) != newMergedConfig { + oldConfigState := s.cfgState.Swap(newConfigState) + if oldConfigState == nil || !oldConfigState.(*configState).equal(newConfigState) { s.logger.Debug("Merged config changed.") configChanged = true } @@ -973,6 +984,12 @@ func (s *Supervisor) handleRestartCommand() error { } func (s *Supervisor) startAgent() { + if s.cfgState.Load().(*configState).configMapIsEmpty { + // Don't start the agent if there is no config to run + s.logger.Info("No config present, not starting agent.") + return + } + err := s.commander.Start(context.Background()) if err != nil { s.logger.Error("Cannot start the agent", zap.Error(err)) @@ -1114,14 +1131,14 @@ func (s *Supervisor) runAgentProcess() { func (s *Supervisor) stopAgentApplyConfig() { s.logger.Debug("Stopping the agent to apply new config") - cfg := s.mergedConfig.Load().(string) + cfgState := s.cfgState.Load().(*configState) err := s.commander.Stop(context.Background()) if err != nil { s.logger.Error("Could not stop agent process", zap.Error(err)) } - if err := os.WriteFile(s.agentConfigFilePath(), []byte(cfg), 0600); err != nil { + if err := os.WriteFile(s.agentConfigFilePath(), []byte(cfgState.mergedConfig), 0600); err != nil { s.logger.Error("Failed to write agent config.", zap.Error(err)) } } @@ -1190,16 +1207,17 @@ func (s *Supervisor) saveLastReceivedOwnTelemetrySettings(set *protobufs.Telemet func (s *Supervisor) onMessage(ctx context.Context, msg *types.MessageData) { configChanged := false - if msg.RemoteConfig != nil { - configChanged = configChanged || s.processRemoteConfigMessage(msg.RemoteConfig) + + if msg.AgentIdentification != nil { + configChanged = s.processAgentIdentificationMessage(msg.AgentIdentification) || configChanged } - if msg.OwnMetricsConnSettings != nil { - configChanged = configChanged || s.processOwnMetricsConnSettingsMessage(ctx, msg.OwnMetricsConnSettings) + if msg.RemoteConfig != nil { + configChanged = s.processRemoteConfigMessage(msg.RemoteConfig) || configChanged } - if msg.AgentIdentification != nil { - configChanged = configChanged || s.processAgentIdentificationMessage(msg.AgentIdentification) + if msg.OwnMetricsConnSettings != nil { + configChanged = s.processOwnMetricsConnSettingsMessage(ctx, msg.OwnMetricsConnSettings) || configChanged } // Update the agent config if any messages have touched the config @@ -1309,7 +1327,14 @@ func (s *Supervisor) processAgentIdentificationMessage(msg *protobufs.AgentIdent s.logger.Error("Failed to send agent description to OpAMP server") } - return true + // Need to recalculate the Agent config so that the new agent identification is included in it. + configChanged, err := s.composeMergedConfig(s.remoteConfig) + if err != nil { + s.logger.Error("Error composing merged config with new instance ID", zap.Error(err)) + return false + } + + return configChanged } func (s *Supervisor) persistentStateFilePath() string { diff --git a/cmd/opampsupervisor/supervisor/supervisor_test.go b/cmd/opampsupervisor/supervisor/supervisor_test.go index df946175a003..6185ff43c1c1 100644 --- a/cmd/opampsupervisor/supervisor/supervisor_test.go +++ b/cmd/opampsupervisor/supervisor/supervisor_test.go @@ -6,8 +6,13 @@ package supervisor import ( "bytes" "context" + "fmt" "net" "os" + "path/filepath" + "regexp" + "runtime" + "strings" "sync/atomic" "testing" "time" @@ -17,12 +22,83 @@ import ( "github.com/open-telemetry/opamp-go/client/types" "github.com/open-telemetry/opamp-go/protobufs" serverTypes "github.com/open-telemetry/opamp-go/server/types" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.uber.org/zap" + "google.golang.org/protobuf/proto" "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/config" ) +func setupSupervisorConfig(t *testing.T) config.Supervisor { + t.Helper() + + tmpDir, err := os.MkdirTemp(os.TempDir(), "*") + require.NoError(t, err) + + executablePath := filepath.Join(tmpDir, "binary") + err = os.WriteFile(executablePath, []byte{}, 0o600) + require.NoError(t, err) + + configuration := ` +server: + endpoint: ws://localhost/v1/opamp + tls: + insecure: true + +capabilities: + reports_effective_config: true + reports_own_metrics: true + reports_health: true + accepts_remote_config: true + reports_remote_config: true + accepts_restart_command: true + +storage: + directory: %s + +agent: + executable: %s +` + configuration = fmt.Sprintf(configuration, filepath.Join(tmpDir, "storage"), executablePath) + + cfgPath := filepath.Join(tmpDir, "config.yaml") + err = os.WriteFile(cfgPath, []byte(configuration), 0o600) + require.NoError(t, err) + + cfg, err := config.Load(cfgPath) + require.NoError(t, err) + + t.Cleanup(func() { + require.NoError(t, os.Chmod(tmpDir, 0o700)) + require.NoError(t, os.RemoveAll(tmpDir)) + }) + + return cfg +} + +func Test_NewSupervisor(t *testing.T) { + cfg := setupSupervisorConfig(t) + supervisor, err := NewSupervisor(zap.L(), cfg) + require.NoError(t, err) + require.NotNil(t, supervisor) +} + +func Test_NewSupervisorFailedStorageCreation(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("Skipping test on Windows because chmod doesn't affect permissions on Windows, so this test won't work.") + } + cfg := setupSupervisorConfig(t) + + dir := filepath.Dir(cfg.Storage.Directory) + require.NoError(t, os.Chmod(dir, 0o500)) + + supervisor, err := NewSupervisor(zap.L(), cfg) + require.Error(t, err) + require.ErrorContains(t, err, "error creating storage dir") + require.Nil(t, supervisor) +} + func Test_composeEffectiveConfig(t *testing.T) { acceptsRemoteConfig := true s := Supervisor{ @@ -32,7 +108,7 @@ func Test_composeEffectiveConfig(t *testing.T) { pidProvider: staticPIDProvider(1234), hasNewConfig: make(chan struct{}, 1), agentConfigOwnMetricsSection: &atomic.Value{}, - mergedConfig: &atomic.Value{}, + cfgState: &atomic.Value{}, agentHealthCheckEndpoint: "localhost:8000", } @@ -87,7 +163,7 @@ service: expectedConfig = bytes.ReplaceAll(expectedConfig, []byte("\r\n"), []byte("\n")) require.True(t, configChanged) - require.Equal(t, string(expectedConfig), s.mergedConfig.Load().(string)) + require.Equal(t, string(expectedConfig), s.cfgState.Load().(*configState).mergedConfig) } func Test_onMessage(t *testing.T) { @@ -104,10 +180,12 @@ func Test_onMessage(t *testing.T) { persistentState: &persistentState{InstanceID: initialID}, agentDescription: agentDesc, agentConfigOwnMetricsSection: &atomic.Value{}, + cfgState: &atomic.Value{}, effectiveConfig: &atomic.Value{}, agentHealthCheckEndpoint: "localhost:8000", opampClient: client.NewHTTP(newLoggerFromZap(zap.NewNop())), } + require.NoError(t, s.createTemplates()) s.onMessage(context.Background(), &types.MessageData{ AgentIdentification: &protobufs.AgentIdentification{ @@ -131,9 +209,11 @@ func Test_onMessage(t *testing.T) { persistentState: &persistentState{InstanceID: testUUID}, agentDescription: agentDesc, agentConfigOwnMetricsSection: &atomic.Value{}, + cfgState: &atomic.Value{}, effectiveConfig: &atomic.Value{}, agentHealthCheckEndpoint: "localhost:8000", } + require.NoError(t, s.createTemplates()) s.onMessage(context.Background(), &types.MessageData{ AgentIdentification: &protobufs.AgentIdentification{ @@ -175,6 +255,7 @@ func Test_onMessage(t *testing.T) { hasNewConfig: make(chan struct{}, 1), persistentState: &persistentState{InstanceID: testUUID}, agentConfigOwnMetricsSection: &atomic.Value{}, + cfgState: &atomic.Value{}, effectiveConfig: &atomic.Value{}, agentConn: agentConnAtomic, agentHealthCheckEndpoint: "localhost:8000", @@ -231,6 +312,330 @@ func Test_onMessage(t *testing.T) { require.True(t, gotMessage, "Message was not sent to agent") }) + t.Run("Processes all ServerToAgent fields", func(t *testing.T) { + agentDesc := &atomic.Value{} + agentDesc.Store(&protobufs.AgentDescription{ + NonIdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "runtime.type", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "test", + }, + }, + }, + }, + }) + initialID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + newID := uuid.MustParse("018fef3f-14a8-73ef-b63e-3b96b146ea38") + s := Supervisor{ + logger: zap.NewNop(), + pidProvider: defaultPIDProvider{}, + config: config.Supervisor{}, + hasNewConfig: make(chan struct{}, 1), + persistentState: &persistentState{InstanceID: initialID}, + agentDescription: agentDesc, + agentConfigOwnMetricsSection: &atomic.Value{}, + cfgState: &atomic.Value{}, + effectiveConfig: &atomic.Value{}, + agentHealthCheckEndpoint: "localhost:8000", + opampClient: client.NewHTTP(newLoggerFromZap(zap.NewNop())), + } + require.NoError(t, s.createTemplates()) + + s.onMessage(context.Background(), &types.MessageData{ + AgentIdentification: &protobufs.AgentIdentification{ + NewInstanceUid: newID[:], + }, + RemoteConfig: &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": { + Body: []byte(""), + }, + }, + }, + }, + OwnMetricsConnSettings: &protobufs.TelemetryConnectionSettings{ + DestinationEndpoint: "http://localhost:4318", + }, + }) + + require.Equal(t, newID, s.persistentState.InstanceID) + t.Log(s.cfgState.Load()) + mergedCfg := s.cfgState.Load().(*configState).mergedConfig + require.Contains(t, mergedCfg, "prometheus/own_metrics") + require.Contains(t, mergedCfg, newID.String()) + require.Contains(t, mergedCfg, "runtime.type: test") + }) + t.Run("RemoteConfig - Remote Config message is processed and merged into local config", func(t *testing.T) { + + const testConfigMessage = `receivers: + debug:` + + const expectedMergedConfig = `extensions: + health_check: + endpoint: localhost:8000 + opamp: + instance_uid: 018fee23-4a51-7303-a441-73faed7d9deb + ppid: 88888 + ppid_poll_interval: 5s + server: + ws: + endpoint: ws://127.0.0.1:0/v1/opamp + tls: + insecure: true +receivers: + debug: null +service: + extensions: + - health_check + - opamp + telemetry: + logs: + encoding: json + resource: null +` + + remoteConfig := &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": { + Body: []byte(testConfigMessage), + }, + }, + }, + ConfigHash: []byte("hash"), + } + testUUID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + + remoteConfigStatusUpdated := false + mc := &mockOpAMPClient{ + setRemoteConfigStatusFunc: func(rcs *protobufs.RemoteConfigStatus) error { + remoteConfigStatusUpdated = true + assert.Equal( + t, + &protobufs.RemoteConfigStatus{ + LastRemoteConfigHash: remoteConfig.ConfigHash, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED, + }, + rcs, + ) + return nil + }, + updateEffectiveConfigFunc: func(_ context.Context) error { + return nil + }, + } + + configStorageDir := t.TempDir() + + s := Supervisor{ + logger: zap.NewNop(), + pidProvider: staticPIDProvider(88888), + config: config.Supervisor{ + Storage: config.Storage{ + Directory: configStorageDir, + }, + }, + hasNewConfig: make(chan struct{}, 1), + persistentState: &persistentState{InstanceID: testUUID}, + agentConfigOwnMetricsSection: &atomic.Value{}, + effectiveConfig: &atomic.Value{}, + opampClient: mc, + agentDescription: &atomic.Value{}, + cfgState: &atomic.Value{}, + agentHealthCheckEndpoint: "localhost:8000", + customMessageToServer: make(chan *protobufs.CustomMessage, 10), + doneChan: make(chan struct{}), + } + + require.NoError(t, s.createTemplates()) + + s.agentDescription.Store(&protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{}, + NonIdentifyingAttributes: []*protobufs.KeyValue{}, + }) + + s.onMessage(context.Background(), &types.MessageData{ + RemoteConfig: remoteConfig, + }) + + fileContent, err := os.ReadFile(filepath.Join(configStorageDir, lastRecvRemoteConfigFile)) + require.NoError(t, err) + assert.Contains(t, string(fileContent), testConfigMessage) + assert.Equal(t, expectedMergedConfig, s.cfgState.Load().(*configState).mergedConfig) + assert.True(t, remoteConfigStatusUpdated) + }) + t.Run("RemoteConfig - Remote Config message is processed but OpAmp Client fails", func(t *testing.T) { + + const testConfigMessage = `receivers: + debug:` + + const expectedMergedConfig = `extensions: + health_check: + endpoint: localhost:8000 + opamp: + instance_uid: 018fee23-4a51-7303-a441-73faed7d9deb + ppid: 88888 + ppid_poll_interval: 5s + server: + ws: + endpoint: ws://127.0.0.1:0/v1/opamp + tls: + insecure: true +receivers: + debug: null +service: + extensions: + - health_check + - opamp + telemetry: + logs: + encoding: json + resource: null +` + + remoteConfig := &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": { + Body: []byte(testConfigMessage), + }, + }, + }, + ConfigHash: []byte("hash"), + } + testUUID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + + remoteConfigStatusUpdated := false + mc := &mockOpAMPClient{ + setRemoteConfigStatusFunc: func(rcs *protobufs.RemoteConfigStatus) error { + remoteConfigStatusUpdated = true + assert.Equal( + t, + &protobufs.RemoteConfigStatus{ + LastRemoteConfigHash: remoteConfig.ConfigHash, + Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED, + }, + rcs, + ) + return fmt.Errorf("unexpected error") + }, + updateEffectiveConfigFunc: func(_ context.Context) error { + return nil + }, + } + + configStorageDir := t.TempDir() + + s := Supervisor{ + logger: zap.NewNop(), + pidProvider: staticPIDProvider(88888), + config: config.Supervisor{ + Storage: config.Storage{ + Directory: configStorageDir, + }, + }, + hasNewConfig: make(chan struct{}, 1), + persistentState: &persistentState{InstanceID: testUUID}, + agentConfigOwnMetricsSection: &atomic.Value{}, + effectiveConfig: &atomic.Value{}, + opampClient: mc, + agentDescription: &atomic.Value{}, + cfgState: &atomic.Value{}, + agentHealthCheckEndpoint: "localhost:8000", + customMessageToServer: make(chan *protobufs.CustomMessage, 10), + doneChan: make(chan struct{}), + } + + require.NoError(t, s.createTemplates()) + + s.agentDescription.Store(&protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{}, + NonIdentifyingAttributes: []*protobufs.KeyValue{}, + }) + + s.onMessage(context.Background(), &types.MessageData{ + RemoteConfig: remoteConfig, + }) + + fileContent, err := os.ReadFile(filepath.Join(configStorageDir, lastRecvRemoteConfigFile)) + require.NoError(t, err) + assert.Contains(t, string(fileContent), testConfigMessage) + assert.Equal(t, expectedMergedConfig, s.cfgState.Load().(*configState).mergedConfig) + assert.True(t, remoteConfigStatusUpdated) + }) + t.Run("RemoteConfig - Invalid Remote Config message is detected and status is set appropriately", func(t *testing.T) { + + const testConfigMessage = `invalid` + + remoteConfig := &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": { + Body: []byte(testConfigMessage), + }, + }, + }, + ConfigHash: []byte("hash"), + } + testUUID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + + remoteConfigStatusUpdated := false + mc := &mockOpAMPClient{ + setRemoteConfigStatusFunc: func(rcs *protobufs.RemoteConfigStatus) error { + remoteConfigStatusUpdated = true + assert.Equal(t, remoteConfig.ConfigHash, rcs.LastRemoteConfigHash) + assert.Equal(t, protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED, rcs.Status) + assert.NotEmpty(t, rcs.ErrorMessage) + return nil + }, + updateEffectiveConfigFunc: func(_ context.Context) error { + return nil + }, + } + + configStorageDir := t.TempDir() + + s := Supervisor{ + logger: zap.NewNop(), + pidProvider: defaultPIDProvider{}, + config: config.Supervisor{ + Storage: config.Storage{ + Directory: configStorageDir, + }, + }, + hasNewConfig: make(chan struct{}, 1), + persistentState: &persistentState{InstanceID: testUUID}, + agentConfigOwnMetricsSection: &atomic.Value{}, + effectiveConfig: &atomic.Value{}, + opampClient: mc, + agentDescription: &atomic.Value{}, + cfgState: &atomic.Value{}, + agentHealthCheckEndpoint: "localhost:8000", + customMessageToServer: make(chan *protobufs.CustomMessage, 10), + doneChan: make(chan struct{}), + } + + require.NoError(t, s.createTemplates()) + + s.agentDescription.Store(&protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{}, + NonIdentifyingAttributes: []*protobufs.KeyValue{}, + }) + + s.onMessage(context.Background(), &types.MessageData{ + RemoteConfig: remoteConfig, + }) + + fileContent, err := os.ReadFile(filepath.Join(configStorageDir, lastRecvRemoteConfigFile)) + require.NoError(t, err) + assert.Contains(t, string(fileContent), testConfigMessage) + assert.Nil(t, s.cfgState.Load()) + assert.True(t, remoteConfigStatusUpdated) + }) + } func Test_handleAgentOpAMPMessage(t *testing.T) { @@ -326,6 +731,242 @@ func Test_handleAgentOpAMPMessage(t *testing.T) { CustomCapabilities: customCapabilities, }) }) + + t.Run("EffectiveConfig - Effective config from agent is stored in OpAmpClient", func(t *testing.T) { + updatedClientEffectiveConfig := false + mc := &mockOpAMPClient{ + updateEffectiveConfigFunc: func(_ context.Context) error { + updatedClientEffectiveConfig = true + return nil + }, + } + + testUUID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + s := Supervisor{ + logger: zap.NewNop(), + pidProvider: defaultPIDProvider{}, + config: config.Supervisor{}, + hasNewConfig: make(chan struct{}, 1), + persistentState: &persistentState{InstanceID: testUUID}, + agentConfigOwnMetricsSection: &atomic.Value{}, + effectiveConfig: &atomic.Value{}, + agentConn: &atomic.Value{}, + opampClient: mc, + agentHealthCheckEndpoint: "localhost:8000", + customMessageToServer: make(chan *protobufs.CustomMessage, 10), + doneChan: make(chan struct{}), + } + + s.handleAgentOpAMPMessage(&mockConn{}, &protobufs.AgentToServer{ + EffectiveConfig: &protobufs.EffectiveConfig{ + ConfigMap: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": { + Body: []byte("test"), + }, + }, + }, + }, + }) + + assert.Equal(t, "test", s.effectiveConfig.Load()) + assert.True(t, updatedClientEffectiveConfig) + }) + t.Run("EffectiveConfig - Effective config from agent is stored in OpAmpClient; client returns error", func(t *testing.T) { + updatedClientEffectiveConfig := false + mc := &mockOpAMPClient{ + updateEffectiveConfigFunc: func(_ context.Context) error { + updatedClientEffectiveConfig = true + return fmt.Errorf("unexpected error") + }, + } + + testUUID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + s := Supervisor{ + logger: zap.NewNop(), + pidProvider: defaultPIDProvider{}, + config: config.Supervisor{}, + hasNewConfig: make(chan struct{}, 1), + persistentState: &persistentState{InstanceID: testUUID}, + agentConfigOwnMetricsSection: &atomic.Value{}, + effectiveConfig: &atomic.Value{}, + agentConn: &atomic.Value{}, + opampClient: mc, + agentHealthCheckEndpoint: "localhost:8000", + customMessageToServer: make(chan *protobufs.CustomMessage, 10), + doneChan: make(chan struct{}), + } + + s.handleAgentOpAMPMessage(&mockConn{}, &protobufs.AgentToServer{ + EffectiveConfig: &protobufs.EffectiveConfig{ + ConfigMap: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": { + Body: []byte("test"), + }, + }, + }, + }, + }) + + assert.Equal(t, "test", s.effectiveConfig.Load()) + assert.True(t, updatedClientEffectiveConfig) + }) + t.Run("EffectiveConfig - Effective config message contains an empty config", func(t *testing.T) { + updatedClientEffectiveConfig := false + mc := &mockOpAMPClient{ + updateEffectiveConfigFunc: func(_ context.Context) error { + updatedClientEffectiveConfig = true + return nil + }, + } + + testUUID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + s := Supervisor{ + logger: zap.NewNop(), + pidProvider: defaultPIDProvider{}, + config: config.Supervisor{}, + hasNewConfig: make(chan struct{}, 1), + persistentState: &persistentState{InstanceID: testUUID}, + agentConfigOwnMetricsSection: &atomic.Value{}, + effectiveConfig: &atomic.Value{}, + agentConn: &atomic.Value{}, + opampClient: mc, + agentHealthCheckEndpoint: "localhost:8000", + customMessageToServer: make(chan *protobufs.CustomMessage, 10), + doneChan: make(chan struct{}), + } + + s.handleAgentOpAMPMessage(&mockConn{}, &protobufs.AgentToServer{ + EffectiveConfig: &protobufs.EffectiveConfig{ + ConfigMap: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{}, + }, + }, + }) + + assert.Empty(t, s.effectiveConfig.Load()) + assert.False(t, updatedClientEffectiveConfig) + }) +} + +func TestSupervisor_setAgentDescription(t *testing.T) { + s := &Supervisor{ + agentDescription: &atomic.Value{}, + config: config.Supervisor{ + Agent: config.Agent{ + Description: config.AgentDescription{ + IdentifyingAttributes: map[string]string{ + "overriding-attribute": "overridden-value", + "additional-attribute": "additional-value", + }, + NonIdentifyingAttributes: map[string]string{ + "overriding-attribute": "overridden-value", + "additional-attribute": "additional-value", + }, + }, + }, + }, + } + + ad := &protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "overriding-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "old-value", + }, + }, + }, + { + Key: "other-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "old-value", + }, + }, + }, + }, + NonIdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "overriding-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "old-value", + }, + }, + }, + { + Key: "other-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "old-value", + }, + }, + }, + }, + } + s.setAgentDescription(ad) + + updatedAgentDescription := s.agentDescription.Load() + + expectedAgentDescription := &protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "additional-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "additional-value", + }, + }, + }, + { + Key: "other-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "old-value", + }, + }, + }, + { + Key: "overriding-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "overridden-value", + }, + }, + }, + }, + NonIdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "additional-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "additional-value", + }, + }, + }, + { + Key: "other-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "old-value", + }, + }, + }, + { + Key: "overriding-attribute", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "overridden-value", + }, + }, + }, + }, + } + + assert.Equal(t, expectedAgentDescription, updatedAgentDescription) } type staticPIDProvider int @@ -338,6 +979,8 @@ type mockOpAMPClient struct { agentDesc *protobufs.AgentDescription sendCustomMessageFunc func(message *protobufs.CustomMessage) (messageSendingChannel chan struct{}, err error) setCustomCapabilitiesFunc func(customCapabilities *protobufs.CustomCapabilities) error + updateEffectiveConfigFunc func(ctx context.Context) error + setRemoteConfigStatusFunc func(rcs *protobufs.RemoteConfigStatus) error } func (mockOpAMPClient) Start(_ context.Context, _ types.StartSettings) error { @@ -361,12 +1004,12 @@ func (mockOpAMPClient) SetHealth(_ *protobufs.ComponentHealth) error { return nil } -func (mockOpAMPClient) UpdateEffectiveConfig(_ context.Context) error { - return nil +func (m mockOpAMPClient) UpdateEffectiveConfig(ctx context.Context) error { + return m.updateEffectiveConfigFunc(ctx) } -func (mockOpAMPClient) SetRemoteConfigStatus(_ *protobufs.RemoteConfigStatus) error { - return nil +func (m mockOpAMPClient) SetRemoteConfigStatus(rcs *protobufs.RemoteConfigStatus) error { + return m.setRemoteConfigStatusFunc(rcs) } func (mockOpAMPClient) SetPackageStatuses(_ *protobufs.PackageStatuses) error { @@ -410,3 +1053,322 @@ func (m mockConn) Send(ctx context.Context, message *protobufs.ServerToAgent) er func (mockConn) Disconnect() error { return nil } + +func TestSupervisor_findRandomPort(t *testing.T) { + s := Supervisor{} + port, err := s.findRandomPort() + + require.NoError(t, err) + require.NotZero(t, port) +} + +func TestSupervisor_setupOwnMetrics(t *testing.T) { + testUUID := uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb") + t.Run("No DestinationEndpoint set", func(t *testing.T) { + s := Supervisor{ + logger: zap.NewNop(), + agentConfigOwnMetricsSection: &atomic.Value{}, + cfgState: &atomic.Value{}, + persistentState: &persistentState{InstanceID: testUUID}, + pidProvider: staticPIDProvider(1234), + } + require.NoError(t, s.createTemplates()) + + agentDesc := &atomic.Value{} + agentDesc.Store(&protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "service.name", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "otelcol", + }, + }, + }, + }, + }) + + s.agentDescription = agentDesc + + configChanged := s.setupOwnMetrics(context.Background(), &protobufs.TelemetryConnectionSettings{ + DestinationEndpoint: "", + }) + + assert.True(t, configChanged) + assert.Empty(t, s.agentConfigOwnMetricsSection.Load().(string)) + }) + t.Run("DestinationEndpoint set - enable own metrics", func(t *testing.T) { + s := Supervisor{ + logger: zap.NewNop(), + agentConfigOwnMetricsSection: &atomic.Value{}, + cfgState: &atomic.Value{}, + persistentState: &persistentState{InstanceID: testUUID}, + pidProvider: staticPIDProvider(1234), + } + err := s.createTemplates() + + agentDesc := &atomic.Value{} + agentDesc.Store(&protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "service.name", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "otelcol", + }, + }, + }, + }, + }) + + s.agentDescription = agentDesc + + require.NoError(t, err) + + configChanged := s.setupOwnMetrics(context.Background(), &protobufs.TelemetryConnectionSettings{ + DestinationEndpoint: "localhost", + }) + + expectedOwnMetricsSection := `receivers: + # Collect own metrics + prometheus/own_metrics: + config: + scrape_configs: + - job_name: 'otel-collector' + scrape_interval: 10s + static_configs: + - targets: ['0.0.0.0:55555'] +exporters: + otlphttp/own_metrics: + metrics_endpoint: "localhost" + +service: + telemetry: + metrics: + address: ":55555" + pipelines: + metrics/own_metrics: + receivers: [prometheus/own_metrics] + exporters: [otlphttp/own_metrics] +` + + assert.True(t, configChanged) + + got := s.agentConfigOwnMetricsSection.Load().(string) + got = strings.ReplaceAll(got, "\r\n", "\n") + + // replace the port because that changes on each run + portRegex := regexp.MustCompile(":[0-9]{5}") + replaced := portRegex.ReplaceAll([]byte(got), []byte(":55555")) + assert.Equal(t, expectedOwnMetricsSection, string(replaced)) + }) +} + +func TestSupervisor_createEffectiveConfigMsg(t *testing.T) { + + t.Run("empty config", func(t *testing.T) { + s := Supervisor{ + effectiveConfig: &atomic.Value{}, + cfgState: &atomic.Value{}, + } + got := s.createEffectiveConfigMsg() + + assert.Empty(t, got.ConfigMap.ConfigMap[""].Body) + }) + t.Run("effective and merged config set - prefer effective config", func(t *testing.T) { + s := Supervisor{ + effectiveConfig: &atomic.Value{}, + cfgState: &atomic.Value{}, + } + + s.effectiveConfig.Store("effective") + s.cfgState.Store("merged") + + got := s.createEffectiveConfigMsg() + + assert.Equal(t, []byte("effective"), got.ConfigMap.ConfigMap[""].Body) + }) + t.Run("only merged config set", func(t *testing.T) { + s := Supervisor{ + effectiveConfig: &atomic.Value{}, + cfgState: &atomic.Value{}, + } + + s.cfgState.Store(&configState{mergedConfig: "merged"}) + + got := s.createEffectiveConfigMsg() + + assert.Equal(t, []byte("merged"), got.ConfigMap.ConfigMap[""].Body) + }) + +} + +func TestSupervisor_loadAndWriteInitialMergedConfig(t *testing.T) { + + t.Run("load initial config", func(t *testing.T) { + + configDir := t.TempDir() + + const testLastReceivedRemoteConfig = `receiver: + debug/remote: +` + + const expectedMergedConfig = `exporters: + otlphttp/own_metrics: + metrics_endpoint: localhost +extensions: + health_check: + endpoint: "" + opamp: + instance_uid: 018fee23-4a51-7303-a441-73faed7d9deb + ppid: 1234 + ppid_poll_interval: 5s + server: + ws: + endpoint: ws://127.0.0.1:0/v1/opamp + tls: + insecure: true +receiver: + debug/remote: null +receivers: + prometheus/own_metrics: + config: + scrape_configs: + - job_name: otel-collector + scrape_interval: 10s + static_configs: + - targets: + - 0.0.0.0:55555 +service: + extensions: + - health_check + - opamp + pipelines: + metrics/own_metrics: + exporters: + - otlphttp/own_metrics + receivers: + - prometheus/own_metrics + telemetry: + logs: + encoding: json + metrics: + address: :55555 + resource: + service.name: otelcol +` + + remoteCfg := &protobufs.AgentRemoteConfig{ + Config: &protobufs.AgentConfigMap{ + ConfigMap: map[string]*protobufs.AgentConfigFile{ + "": { + Body: []byte(testLastReceivedRemoteConfig), + }, + }, + }, + ConfigHash: []byte("hash"), + } + + marshalledRemoteCfg, err := proto.Marshal(remoteCfg) + require.NoError(t, err) + + ownMetricsCfg := &protobufs.TelemetryConnectionSettings{ + DestinationEndpoint: "localhost", + } + + marshalledOwnMetricsCfg, err := proto.Marshal(ownMetricsCfg) + require.NoError(t, err) + + require.NoError(t, os.WriteFile(filepath.Join(configDir, lastRecvRemoteConfigFile), marshalledRemoteCfg, 0600)) + require.NoError(t, os.WriteFile(filepath.Join(configDir, lastRecvOwnMetricsConfigFile), marshalledOwnMetricsCfg, 0600)) + + s := Supervisor{ + logger: zap.NewNop(), + config: config.Supervisor{ + Capabilities: config.Capabilities{ + AcceptsRemoteConfig: true, + ReportsOwnMetrics: true, + }, + Storage: config.Storage{ + Directory: configDir, + }, + }, + agentConfigOwnMetricsSection: &atomic.Value{}, + cfgState: &atomic.Value{}, + persistentState: &persistentState{ + InstanceID: uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb"), + }, + pidProvider: staticPIDProvider(1234), + } + agentDesc := &atomic.Value{} + agentDesc.Store(&protobufs.AgentDescription{ + IdentifyingAttributes: []*protobufs.KeyValue{ + { + Key: "service.name", + Value: &protobufs.AnyValue{ + Value: &protobufs.AnyValue_StringValue{ + StringValue: "otelcol", + }, + }, + }, + }, + }) + + s.agentDescription = agentDesc + + require.NoError(t, s.createTemplates()) + require.NoError(t, s.loadAndWriteInitialMergedConfig()) + + assert.Equal(t, remoteCfg.String(), s.remoteConfig.String()) + + gotMergedConfig := s.cfgState.Load().(*configState).mergedConfig + gotMergedConfig = strings.ReplaceAll(gotMergedConfig, "\r\n", "\n") + // replace random port numbers + portRegex := regexp.MustCompile(":[0-9]{5}") + replacedMergedConfig := portRegex.ReplaceAll([]byte(gotMergedConfig), []byte(":55555")) + assert.Equal(t, expectedMergedConfig, string(replacedMergedConfig)) + }) + +} + +func TestSupervisor_composeNoopConfig(t *testing.T) { + + const expectedConfig = `exporters: + nop: null +extensions: + opamp: + instance_uid: 018fee23-4a51-7303-a441-73faed7d9deb + ppid: 1234 + ppid_poll_interval: 5s + server: + ws: + endpoint: ws://127.0.0.1:0/v1/opamp + tls: + insecure: true +receivers: + nop: null +service: + extensions: + - opamp + pipelines: + traces: + exporters: + - nop + receivers: + - nop +` + s := Supervisor{ + persistentState: &persistentState{ + InstanceID: uuid.MustParse("018fee23-4a51-7303-a441-73faed7d9deb"), + }, + pidProvider: staticPIDProvider(1234), + } + + require.NoError(t, s.createTemplates()) + + noopConfigBytes, err := s.composeNoopConfig() + noopConfig := strings.ReplaceAll(string(noopConfigBytes), "\r\n", "\n") + + require.NoError(t, err) + require.Equal(t, expectedConfig, noopConfig) +} diff --git a/cmd/opampsupervisor/supervisor/supervisor_windows.go b/cmd/opampsupervisor/supervisor/supervisor_windows.go new file mode 100644 index 000000000000..9c2a0fab4e47 --- /dev/null +++ b/cmd/opampsupervisor/supervisor/supervisor_windows.go @@ -0,0 +1,169 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:build windows + +package supervisor + +import ( + "flag" + "fmt" + + "go.uber.org/zap" + "go.uber.org/zap/zapcore" + "golang.org/x/sys/windows" + "golang.org/x/sys/windows/svc" + "golang.org/x/sys/windows/svc/eventlog" + + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/config" +) + +type windowsService struct { + sup *Supervisor +} + +func NewSvcHandler() svc.Handler { + return &windowsService{} +} + +func (ws *windowsService) Execute(args []string, requests <-chan svc.ChangeRequest, changes chan<- svc.Status) (ssec bool, errno uint32) { + // The first argument supplied to service.Execute is the service name. If this is + // not provided for some reason, raise a relevant error to the system event log + if len(args) == 0 { + return false, uint32(windows.ERROR_INVALID_SERVICENAME) + } + + elog, err := openEventLog(args[0]) + if err != nil { + return false, uint32(windows.ERROR_EVENTLOG_CANT_START) + } + + changes <- svc.Status{State: svc.StartPending} + if err = ws.start(elog); err != nil { + _ = elog.Error(3, fmt.Sprintf("failed to start service: %v", err)) + return false, uint32(windows.ERROR_EXCEPTION_IN_SERVICE) + } + changes <- svc.Status{State: svc.Running, Accepts: svc.AcceptStop | svc.AcceptShutdown} + + for req := range requests { + switch req.Cmd { + case svc.Interrogate: + changes <- req.CurrentStatus + + case svc.Stop, svc.Shutdown: + changes <- svc.Status{State: svc.StopPending} + ws.stop() + changes <- svc.Status{State: svc.Stopped} + return false, 0 + + default: + _ = elog.Error(3, fmt.Sprintf("unexpected service control request #%d", req.Cmd)) + return false, uint32(windows.ERROR_INVALID_SERVICE_CONTROL) + } + } + + return false, 0 +} + +func (ws *windowsService) start(elog *eventlog.Log) error { + configFlag := flag.String("config", "", "Path to a supervisor configuration file") + flag.Parse() + + logger, _ := zap.NewDevelopment(zap.WrapCore(withWindowsCore(elog))) + + cfg, err := config.Load(*configFlag) + if err != nil { + return fmt.Errorf("load config: %w", err) + } + + sup, err := NewSupervisor(logger, cfg) + if err != nil { + return fmt.Errorf("new supervisor: %w", err) + } + ws.sup = sup + + return ws.sup.Start() +} + +func (ws *windowsService) stop() { + ws.sup.Shutdown() +} + +func openEventLog(serviceName string) (*eventlog.Log, error) { + elog, err := eventlog.Open(serviceName) + if err != nil { + return nil, fmt.Errorf("service failed to open event log: %w", err) + } + + return elog, nil +} + +// Logger wrappings +var _ zapcore.Core = (*windowsEventLogCore)(nil) + +type windowsEventLogCore struct { + core zapcore.Core + elog *eventlog.Log + encoder zapcore.Encoder +} + +func (w windowsEventLogCore) Enabled(level zapcore.Level) bool { + return w.core.Enabled(level) +} + +func (w windowsEventLogCore) With(fields []zapcore.Field) zapcore.Core { + enc := w.encoder.Clone() + for _, field := range fields { + field.AddTo(enc) + } + return windowsEventLogCore{ + core: w.core, + elog: w.elog, + encoder: enc, + } +} + +func (w windowsEventLogCore) Check(ent zapcore.Entry, ce *zapcore.CheckedEntry) *zapcore.CheckedEntry { + if w.Enabled(ent.Level) { + return ce.AddCore(ent, w) + } + return ce +} + +func (w windowsEventLogCore) Write(ent zapcore.Entry, fields []zapcore.Field) error { + buf, err := w.encoder.EncodeEntry(ent, fields) + if err != nil { + _ = w.elog.Warning(2, fmt.Sprintf("failed encoding log entry %v\r\n", err)) + return err + } + msg := buf.String() + buf.Free() + + switch ent.Level { + case zapcore.FatalLevel, zapcore.PanicLevel, zapcore.DPanicLevel: + // golang.org/x/sys/windows/svc/eventlog does not support Critical level event logs + return w.elog.Error(3, msg) + case zapcore.ErrorLevel: + return w.elog.Error(3, msg) + case zapcore.WarnLevel: + return w.elog.Warning(2, msg) + case zapcore.InfoLevel: + return w.elog.Info(1, msg) + } + // We would not be here if debug were disabled so log as info to not drop. + return w.elog.Info(1, msg) +} + +func (w windowsEventLogCore) Sync() error { + return w.core.Sync() +} + +// TODO: If supervisor logging becomes configurable, update this function to respect that config +func withWindowsCore(elog *eventlog.Log) func(zapcore.Core) zapcore.Core { + return func(core zapcore.Core) zapcore.Core { + // Use the Windows Event Log + encoderConfig := zap.NewProductionEncoderConfig() + encoderConfig.LineEnding = "\r\n" + return windowsEventLogCore{core, elog, zapcore.NewConsoleEncoder(encoderConfig)} + } +} diff --git a/cmd/opampsupervisor/supervisor/supervisor_windows_service_test.go b/cmd/opampsupervisor/supervisor/supervisor_windows_service_test.go new file mode 100644 index 000000000000..99ee80ca1021 --- /dev/null +++ b/cmd/opampsupervisor/supervisor/supervisor_windows_service_test.go @@ -0,0 +1,127 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:build windows && win32service + +package supervisor + +import ( + "context" + "encoding/xml" + "os/exec" + "testing" + "time" + + "github.com/stretchr/testify/require" + "golang.org/x/sys/windows/svc" + "golang.org/x/sys/windows/svc/mgr" + + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/healthchecker" +) + +const ( + supervisorServiceName = "opampsupervisor" +) + +// Test the supervisor as a Windows service. +// The test assumes that the service and respective event source are already created. +// +// To test locally: +// * Build the supervisor and collector binaries. Note you'll need to update the name of the collector binary in the supervisor config file +// - cd cmd/opampsupervisor; go build +// - make otelcontribcol +// +// * Install the Windows service +// - New-Service -Name "opampsupervisor" -StartupType "Manual" -BinaryPathName "${PWD}\cmd\opampsupervisor --config ${PWD}\cmd\opampsupervisor\supervisor\testdata\supervisor_windows_service_test_config.yaml\" +// +// * Create event log source +// - eventcreate.exe /t information /id 1 /l application /d "Creating event provider for 'opampsupervisor'" /so opampsupervisor +// + +// The test also must be executed with administrative privileges. +func TestSupervisorAsService(t *testing.T) { + scm, err := mgr.Connect() + require.NoError(t, err) + defer scm.Disconnect() + + service, err := scm.OpenService(supervisorServiceName) + require.NoError(t, err) + defer service.Close() + + // start up supervisor service + startTime := time.Now() + err = service.Start() + require.NoError(t, err) + + defer func() { + _, err = service.Control(svc.Stop) + require.NoError(t, err) + + require.Eventually(t, func() bool { + status, _ := service.Query() + return status.State == svc.Stopped + }, 10*time.Second, 500*time.Millisecond) + }() + + // wait for supervisor service to start + require.Eventually(t, func() bool { + status, _ := service.Query() + return status.State == svc.Running + }, 10*time.Second, 500*time.Millisecond) + + // verify supervisor service started & healthy + // Read the events from the opampsupervisor source and check that they were emitted after the service + // command started. This is a simple validation that the messages are being logged on the + // Windows event log. + cmd := exec.Command("wevtutil.exe", "qe", "Application", "/c:1", "/rd:true", "/f:RenderedXml", "/q:*[System[Provider[@Name='opampsupervisor']]]") + out, err := cmd.CombinedOutput() + require.NoError(t, err) + + var e Event + require.NoError(t, xml.Unmarshal([]byte(out), &e)) + + eventTime, err := time.Parse("2006-01-02T15:04:05.9999999Z07:00", e.System.TimeCreated.SystemTime) + require.NoError(t, err) + + require.True(t, eventTime.After(startTime.In(time.UTC))) + + // verify the collector is running healthy + hc := healthchecker.NewHTTPHealthChecker("http://127.0.0.1:12345") + err = hc.Check(context.Background()) + require.NoError(t, err) +} + +// Helper types to read the XML events from the event log using wevtutil +type Event struct { + XMLName xml.Name `xml:"Event"` + System System `xml:"System"` + Data string `xml:"EventData>Data"` +} + +type System struct { + Provider Provider `xml:"Provider"` + EventID int `xml:"EventID"` + Version int `xml:"Version"` + Level int `xml:"Level"` + Task int `xml:"Task"` + Opcode int `xml:"Opcode"` + Keywords string `xml:"Keywords"` + TimeCreated TimeCreated `xml:"TimeCreated"` + EventRecordID int `xml:"EventRecordID"` + Execution Execution `xml:"Execution"` + Channel string `xml:"Channel"` + Computer string `xml:"Computer"` +} + +type Provider struct { + Name string `xml:"Name,attr"` +} + +type TimeCreated struct { + SystemTime string `xml:"SystemTime,attr"` +} + +type Execution struct { + ProcessID string `xml:"ProcessID,attr"` + ThreadID string `xml:"ThreadID,attr"` +} diff --git a/cmd/opampsupervisor/supervisor/telemetry/logger.go b/cmd/opampsupervisor/supervisor/telemetry/logger.go new file mode 100644 index 000000000000..0bec527b1188 --- /dev/null +++ b/cmd/opampsupervisor/supervisor/telemetry/logger.go @@ -0,0 +1,23 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package telemetry + +import ( + "go.uber.org/zap" + + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/config" +) + +func NewLogger(cfg config.Logs) (*zap.Logger, error) { + zapCfg := zap.NewProductionConfig() + + zapCfg.Level = zap.NewAtomicLevelAt(cfg.Level) + zapCfg.OutputPaths = cfg.OutputPaths + + logger, err := zapCfg.Build() + if err != nil { + return nil, err + } + return logger, nil +} diff --git a/cmd/opampsupervisor/supervisor/templates/opampextension.yaml b/cmd/opampsupervisor/supervisor/templates/opampextension.yaml index efb77b498ead..e016e7ebc268 100644 --- a/cmd/opampsupervisor/supervisor/templates/opampextension.yaml +++ b/cmd/opampsupervisor/supervisor/templates/opampextension.yaml @@ -3,7 +3,7 @@ extensions: instance_uid: "{{.InstanceUid}}" server: ws: - endpoint: "ws://localhost:{{.SupervisorPort}}/v1/opamp" + endpoint: "ws://127.0.0.1:{{.SupervisorPort}}/v1/opamp" tls: insecure: true ppid: {{.PID}} diff --git a/cmd/opampsupervisor/supervisor/testdata/supervisor_windows_service_test_config.yaml b/cmd/opampsupervisor/supervisor/testdata/supervisor_windows_service_test_config.yaml new file mode 100644 index 000000000000..eba517814733 --- /dev/null +++ b/cmd/opampsupervisor/supervisor/testdata/supervisor_windows_service_test_config.yaml @@ -0,0 +1,17 @@ +server: + endpoint: ws://localhost:3001/v1/opamp + +capabilities: + reports_effective_config: true + reports_own_metrics: true + reports_health: true + accepts_remote_config: true + reports_remote_config: true + accepts_restart_command: true + +agent: + executable: ../../../bin/collector_binary + health_check_port: 12345 + +storage: + directory: "./testdata/storage" diff --git a/cmd/opampsupervisor/testdata/collector/effective_config.yaml b/cmd/opampsupervisor/testdata/collector/effective_config.yaml index e1f82c8abdaa..15ba948a6ca6 100644 --- a/cmd/opampsupervisor/testdata/collector/effective_config.yaml +++ b/cmd/opampsupervisor/testdata/collector/effective_config.yaml @@ -10,7 +10,7 @@ extensions: ppid_poll_interval: 5s server: ws: - endpoint: ws://localhost:0/v1/opamp + endpoint: ws://127.0.0.1:0/v1/opamp tls: insecure: true receivers: diff --git a/cmd/opampsupervisor/testdata/supervisor/supervisor_accepts_conn.yaml b/cmd/opampsupervisor/testdata/supervisor/supervisor_accepts_conn.yaml index 6fba120fffc6..9caaea49296b 100644 --- a/cmd/opampsupervisor/testdata/supervisor/supervisor_accepts_conn.yaml +++ b/cmd/opampsupervisor/testdata/supervisor/supervisor_accepts_conn.yaml @@ -1,7 +1,5 @@ server: endpoint: ws://{{.url}}/v1/opamp - tls: - insecure: true capabilities: reports_effective_config: true diff --git a/cmd/opampsupervisor/testdata/supervisor/supervisor_agent_description.yaml b/cmd/opampsupervisor/testdata/supervisor/supervisor_agent_description.yaml index 404fa3bb500b..a87e3edd3bb0 100644 --- a/cmd/opampsupervisor/testdata/supervisor/supervisor_agent_description.yaml +++ b/cmd/opampsupervisor/testdata/supervisor/supervisor_agent_description.yaml @@ -1,7 +1,5 @@ server: endpoint: ws://{{.url}}/v1/opamp - tls: - insecure: true capabilities: reports_effective_config: true diff --git a/cmd/opampsupervisor/testdata/supervisor/supervisor_basic.yaml b/cmd/opampsupervisor/testdata/supervisor/supervisor_basic.yaml index f713be57c24b..bfe228f86e32 100644 --- a/cmd/opampsupervisor/testdata/supervisor/supervisor_basic.yaml +++ b/cmd/opampsupervisor/testdata/supervisor/supervisor_basic.yaml @@ -1,7 +1,5 @@ server: endpoint: ws://{{.url}}/v1/opamp - tls: - insecure: true capabilities: reports_effective_config: true diff --git a/cmd/opampsupervisor/testdata/supervisor/supervisor_healthcheck_port.yaml b/cmd/opampsupervisor/testdata/supervisor/supervisor_healthcheck_port.yaml index 08c6b6bceb88..b9d226058e4a 100644 --- a/cmd/opampsupervisor/testdata/supervisor/supervisor_healthcheck_port.yaml +++ b/cmd/opampsupervisor/testdata/supervisor/supervisor_healthcheck_port.yaml @@ -1,7 +1,5 @@ server: endpoint: ws://{{.url}}/v1/opamp - tls: - insecure: true capabilities: reports_effective_config: true diff --git a/cmd/opampsupervisor/testdata/supervisor/supervisor_logging.yaml b/cmd/opampsupervisor/testdata/supervisor/supervisor_logging.yaml new file mode 100644 index 000000000000..161fda828730 --- /dev/null +++ b/cmd/opampsupervisor/testdata/supervisor/supervisor_logging.yaml @@ -0,0 +1,22 @@ +server: + endpoint: ws://{{.url}}/v1/opamp + +capabilities: + reports_effective_config: true + reports_own_metrics: true + reports_health: true + accepts_remote_config: true + reports_remote_config: true + accepts_restart_command: true + +storage: + directory: '{{.storage_dir}}' + +agent: + executable: ../../bin/otelcontribcol_{{.goos}}_{{.goarch}}{{.extension}} + passthrough_logs: true + +telemetry: + logs: + level: {{.log_level}} # info level logs + output_paths: ['{{.log_file}}'] diff --git a/cmd/opampsupervisor/testdata/supervisor/supervisor_nocap.yaml b/cmd/opampsupervisor/testdata/supervisor/supervisor_nocap.yaml index 34c45f4d752c..cab98dd081e4 100644 --- a/cmd/opampsupervisor/testdata/supervisor/supervisor_nocap.yaml +++ b/cmd/opampsupervisor/testdata/supervisor/supervisor_nocap.yaml @@ -1,7 +1,5 @@ server: endpoint: ws://{{.url}}/v1/opamp - tls: - insecure: true capabilities: reports_effective_config: false diff --git a/cmd/opampsupervisor/testdata/supervisor/supervisor_persistence.yaml b/cmd/opampsupervisor/testdata/supervisor/supervisor_persistence.yaml index 600e0c19f7bb..723f3fb98902 100644 --- a/cmd/opampsupervisor/testdata/supervisor/supervisor_persistence.yaml +++ b/cmd/opampsupervisor/testdata/supervisor/supervisor_persistence.yaml @@ -1,7 +1,5 @@ server: endpoint: ws://{{.url}}/v1/opamp - tls: - insecure: true capabilities: reports_effective_config: true diff --git a/cmd/otelcontribcol/.gitignore b/cmd/otelcontribcol/.gitignore new file mode 100644 index 000000000000..4d27b9ae4d4a --- /dev/null +++ b/cmd/otelcontribcol/.gitignore @@ -0,0 +1,4 @@ +* +!builder-config.yaml +!Dockerfile +!metadata.yaml diff --git a/cmd/otelcontribcol/Dockerfile b/cmd/otelcontribcol/Dockerfile index 10b37eaf6e72..bb8ef9835707 100644 --- a/cmd/otelcontribcol/Dockerfile +++ b/cmd/otelcontribcol/Dockerfile @@ -1,8 +1,6 @@ -FROM alpine:latest as prep +FROM alpine:latest AS prep RUN apk --update add ca-certificates -RUN mkdir -p /tmp - FROM scratch ARG USER_UID=10001 diff --git a/cmd/otelcontribcol/Makefile b/cmd/otelcontribcol/Makefile deleted file mode 100644 index 1994cf483835..000000000000 --- a/cmd/otelcontribcol/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -include ../../Makefile.Common - -lint: checklicense misspell - @echo "skipping lint: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/29449" diff --git a/cmd/otelcontribcol/README.md b/cmd/otelcontribcol/README.md deleted file mode 100644 index 18e7b3c1ca91..000000000000 --- a/cmd/otelcontribcol/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# `otelcontribcol` test binary - -This folder contains the sources for the `otelcontribcol` test binary. This binary is intended for internal **TEST PURPOSES ONLY**. The source files in this folder are **NOT** the ones used to build any official OpenTelemetry Collector releases. -Check [open-telemetry/opentelemetry-collector-releases](https://github.com/open-telemetry/opentelemetry-collector-releases) for the official releases. Check the [**`otelcol-contrib` folder**](https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib) on that repository for the official Collector contrib manifest. diff --git a/cmd/otelcontribcol/builder-config.yaml b/cmd/otelcontribcol/builder-config.yaml index a8fbd102a651..0dec13f290ad 100644 --- a/cmd/otelcontribcol/builder-config.yaml +++ b/cmd/otelcontribcol/builder-config.yaml @@ -10,241 +10,239 @@ dist: module: github.com/open-telemetry/opentelemetry-collector-contrib/cmd/otelcontribcol name: otelcontribcol description: Local OpenTelemetry Collector Contrib binary, testing only. - version: 0.108.1-dev - otelcol_version: 0.108.1 + version: 0.112.0-dev + otelcol_version: 0.112.0 extensions: - - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/cfgardenobserver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.108.0 - import: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jaegerencodingextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/avrologencodingextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jsonlogencodingextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/textencodingextension v0.108.0 - import: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/textencodingextension - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension v0.108.0 - import: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension + - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/cfgardenobserver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jaegerencodingextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/avrologencodingextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jsonlogencodingextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/textencodingextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension v0.112.0 exporters: - - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.108.0 + - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 + - gomod: go.opentelemetry.io/collector/exporter/nopexporter v0.112.0 + - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0 + - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.112.0 processors: - - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/intervalprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/logdedupprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.108.0 + - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 + - gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/intervalprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/logdedupprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.112.0 receivers: - - gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/githubreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudspannerreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudlogsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefareceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefbreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver v0.108.0 + - gomod: go.opentelemetry.io/collector/receiver/nopreceiver v0.112.0 + - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awss3receiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/githubreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudmonitoringreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudlogsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefareceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefbreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver v0.112.0 connectors: - - gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/otlpjsonconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.108.0 + - gomod: go.opentelemetry.io/collector/connector/forwardconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/otlpjsonconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/sumconnector v0.112.0 providers: - - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/s3provider v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/secretsmanagerprovider v0.108.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/s3provider v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/secretsmanagerprovider v0.112.0 replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage => ../../extension/storage @@ -405,6 +403,7 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter => ../../exporter/fileexporter - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry => ../../pkg/resourcetotelemetry - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden + - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic => ../../pkg/kafka/topic - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ../../exporter/opencensusexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter => ../../exporter/opensearchexporter - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders => ../../internal/metadataproviders @@ -420,7 +419,6 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension => ../../extension/httpforwarderextension - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter => ../../exporter/elasticsearchexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter => ../../exporter/awscloudwatchlogsexporter - - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudspannerreceiver => ../../receiver/googlecloudspannerreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver => ../../receiver/prometheusreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter => ../../exporter/sapmexporter - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet => ../../internal/kubelet @@ -437,7 +435,6 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus => ../../pkg/translator/prometheus - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver => ../../receiver/googlecloudpubsubreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter => ../../exporter/sumologicexporter - - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter => ../../exporter/instanaexporter - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter => ../../exporter/honeycombmarkerexporter - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver => ../../receiver/otlpjsonfilereceiver - github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor => ../../processor/redactionprocessor @@ -458,8 +455,6 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor => ../../processor/remotetapprocessor - github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor => ../../processor/sumologicprocessor - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter => ../../exporter/syslogexporter - # see https://github.com/mattn/go-ieproxy/issues/45 - - github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector => ../../connector/countconnector @@ -472,9 +467,10 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector => ../../connector/routingconnector - github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector => ../../connector/servicegraphconnector - github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector => ../../connector/spanmetricsconnector + - github.com/open-telemetry/opentelemetry-collector-contrib/connector/sumconnector => ../../connector/sumconnector - github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 - - github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure => ../../pkg/translator/azure + - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azurelogs => ../../pkg/translator/azurelogs - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/skywalking => ../../pkg/translator/skywalking - github.com/open-telemetry/opentelemetry-collector-contrib/internal/collectd => ../../internal/collectd - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding => ../../extension/encoding @@ -497,6 +493,7 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/s3provider => ../../confmap/provider/s3provider - github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/secretsmanagerprovider => ../../confmap/provider/secretsmanagerprovider - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../pkg/sampling + - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog => ../../pkg/datadog - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil => ../../internal/pdatautil - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter => ../../exporter/otelarrowexporter - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver => ../../receiver/otelarrowreceiver @@ -505,5 +502,6 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/githubreceiver => ../../receiver/githubreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/internal/grpcutil => ../../internal/grpcutil - github.com/open-telemetry/opentelemetry-collector-contrib/internal/huawei => ../../internal/huawei - - + - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudmonitoringreceiver => ../../receiver/googlecloudmonitoringreceiver + - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status => ../../pkg/status + - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awss3receiver => ../../receiver/awss3receiver diff --git a/cmd/otelcontribcol/components.go b/cmd/otelcontribcol/components.go deleted file mode 100644 index 97724ff1c8dd..000000000000 --- a/cmd/otelcontribcol/components.go +++ /dev/null @@ -1,689 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -package main - -import ( - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/connector" - forwardconnector "go.opentelemetry.io/collector/connector/forwardconnector" - "go.opentelemetry.io/collector/exporter" - debugexporter "go.opentelemetry.io/collector/exporter/debugexporter" - nopexporter "go.opentelemetry.io/collector/exporter/nopexporter" - otlpexporter "go.opentelemetry.io/collector/exporter/otlpexporter" - otlphttpexporter "go.opentelemetry.io/collector/exporter/otlphttpexporter" - "go.opentelemetry.io/collector/extension" - zpagesextension "go.opentelemetry.io/collector/extension/zpagesextension" - "go.opentelemetry.io/collector/otelcol" - "go.opentelemetry.io/collector/processor" - batchprocessor "go.opentelemetry.io/collector/processor/batchprocessor" - memorylimiterprocessor "go.opentelemetry.io/collector/processor/memorylimiterprocessor" - "go.opentelemetry.io/collector/receiver" - nopreceiver "go.opentelemetry.io/collector/receiver/nopreceiver" - otlpreceiver "go.opentelemetry.io/collector/receiver/otlpreceiver" - - countconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector" - datadogconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector" - exceptionsconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector" - failoverconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector" - grafanacloudconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector" - otlpjsonconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/otlpjsonconnector" - roundrobinconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector" - routingconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector" - servicegraphconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector" - spanmetricsconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector" - alertmanagerexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter" - alibabacloudlogserviceexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter" - awscloudwatchlogsexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter" - awsemfexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter" - awskinesisexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter" - awss3exporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter" - awsxrayexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter" - azuredataexplorerexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter" - azuremonitorexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter" - carbonexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter" - cassandraexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter" - clickhouseexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter" - coralogixexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter" - datadogexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter" - datasetexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter" - elasticsearchexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter" - fileexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter" - googlecloudexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter" - googlecloudpubsubexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter" - googlemanagedprometheusexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter" - honeycombmarkerexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter" - influxdbexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter" - instanaexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter" - kafkaexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter" - loadbalancingexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter" - logicmonitorexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter" - logzioexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter" - lokiexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter" - mezmoexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter" - opencensusexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - opensearchexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter" - otelarrowexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter" - prometheusexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" - prometheusremotewriteexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter" - pulsarexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter" - rabbitmqexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter" - sapmexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter" - sentryexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter" - signalfxexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter" - splunkhecexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter" - sumologicexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter" - syslogexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter" - tencentcloudlogserviceexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter" - zipkinexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter" - ackextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension" - asapauthextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension" - awsproxy "github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy" - basicauthextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension" - bearertokenauthextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension" - avrologencodingextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/avrologencodingextension" - jaegerencodingextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jaegerencodingextension" - jsonlogencodingextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jsonlogencodingextension" - otlpencodingextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension" - textencodingextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/textencodingextension" - zipkinencodingextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension" - googleclientauthextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension" - headerssetterextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension" - healthcheckextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension" - healthcheckv2extension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension" - httpforwarderextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension" - jaegerremotesampling "github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling" - oauth2clientauthextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension" - cfgardenobserver "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/cfgardenobserver" - dockerobserver "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver" - ecsobserver "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver" - ecstaskobserver "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver" - hostobserver "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver" - k8sobserver "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver" - oidcauthextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension" - opampextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension" - pprofextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension" - remotetapextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension" - sigv4authextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension" - solarwindsapmsettingsextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension" - dbstorage "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage" - filestorage "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage" - sumologicextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension" - attributesprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor" - cumulativetodeltaprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor" - deltatocumulativeprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor" - deltatorateprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor" - filterprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor" - geoipprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor" - groupbyattrsprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor" - groupbytraceprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor" - intervalprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/intervalprocessor" - k8sattributesprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor" - logdedupprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/logdedupprocessor" - metricsgenerationprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor" - metricstransformprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor" - probabilisticsamplerprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor" - redactionprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor" - remotetapprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor" - resourcedetectionprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor" - resourceprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor" - routingprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor" - spanprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor" - sumologicprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor" - tailsamplingprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor" - transformprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor" - activedirectorydsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver" - aerospikereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver" - apachereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver" - apachesparkreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver" - awscloudwatchreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver" - awscontainerinsightreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver" - awsecscontainermetricsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver" - awsfirehosereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver" - awsxrayreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver" - azureblobreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver" - azureeventhubreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver" - azuremonitorreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver" - bigipreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver" - carbonreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver" - chronyreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver" - cloudflarereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver" - cloudfoundryreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver" - collectdreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver" - couchdbreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver" - datadogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver" - dockerstatsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver" - elasticsearchreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver" - expvarreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver" - filelogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver" - filestatsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver" - flinkmetricsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver" - fluentforwardreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver" - githubreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/githubreceiver" - googlecloudpubsubreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver" - googlecloudspannerreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudspannerreceiver" - haproxyreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver" - hostmetricsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver" - httpcheckreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver" - huaweicloudcesreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver" - huaweicloudlogsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudlogsreceiver" - iisreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver" - influxdbreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver" - jaegerreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver" - jmxreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver" - journaldreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver" - k8sclusterreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver" - k8seventsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver" - k8sobjectsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver" - kafkametricsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver" - kafkareceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver" - kubeletstatsreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver" - lokireceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver" - memcachedreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver" - mongodbatlasreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver" - mongodbreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver" - mysqlreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver" - namedpipereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver" - nginxreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver" - nsxtreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver" - opencensusreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" - oracledbreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver" - otelarrowreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver" - otlpjsonfilereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver" - podmanreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver" - postgresqlreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver" - prometheusreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver" - pulsarreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver" - purefareceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefareceiver" - purefbreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefbreceiver" - rabbitmqreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver" - receivercreator "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator" - redisreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver" - riakreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver" - sapmreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver" - signalfxreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver" - simpleprometheusreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver" - skywalkingreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver" - snmpreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver" - snowflakereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver" - solacereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver" - splunkenterprisereceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver" - splunkhecreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver" - sqlqueryreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver" - sqlserverreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver" - sshcheckreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver" - statsdreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver" - syslogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" - tcplogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" - udplogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver" - vcenterreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" - wavefrontreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver" - webhookeventreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver" - windowseventlogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver" - windowsperfcountersreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver" - zipkinreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver" - zookeeperreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver" -) - -func components() (otelcol.Factories, error) { - var err error - factories := otelcol.Factories{} - - factories.Extensions, err = extension.MakeFactoryMap( - zpagesextension.NewFactory(), - ackextension.NewFactory(), - asapauthextension.NewFactory(), - awsproxy.NewFactory(), - basicauthextension.NewFactory(), - bearertokenauthextension.NewFactory(), - googleclientauthextension.NewFactory(), - headerssetterextension.NewFactory(), - healthcheckextension.NewFactory(), - healthcheckv2extension.NewFactory(), - httpforwarderextension.NewFactory(), - jaegerremotesampling.NewFactory(), - oauth2clientauthextension.NewFactory(), - cfgardenobserver.NewFactory(), - dockerobserver.NewFactory(), - ecsobserver.NewFactory(), - ecstaskobserver.NewFactory(), - hostobserver.NewFactory(), - k8sobserver.NewFactory(), - oidcauthextension.NewFactory(), - opampextension.NewFactory(), - pprofextension.NewFactory(), - remotetapextension.NewFactory(), - sigv4authextension.NewFactory(), - solarwindsapmsettingsextension.NewFactory(), - dbstorage.NewFactory(), - filestorage.NewFactory(), - sumologicextension.NewFactory(), - otlpencodingextension.NewFactory(), - jaegerencodingextension.NewFactory(), - avrologencodingextension.NewFactory(), - jsonlogencodingextension.NewFactory(), - textencodingextension.NewFactory(), - zipkinencodingextension.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ExtensionModules = make(map[component.Type]string, len(factories.Extensions)) - factories.ExtensionModules[zpagesextension.NewFactory().Type()] = "go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExtensionModules[ackextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension v0.108.0" - factories.ExtensionModules[asapauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension v0.108.0" - factories.ExtensionModules[awsproxy.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.108.0" - factories.ExtensionModules[basicauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.108.0" - factories.ExtensionModules[bearertokenauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.108.0" - factories.ExtensionModules[googleclientauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension v0.108.0" - factories.ExtensionModules[headerssetterextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.108.0" - factories.ExtensionModules[healthcheckextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.108.0" - factories.ExtensionModules[healthcheckv2extension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension v0.108.0" - factories.ExtensionModules[httpforwarderextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension v0.108.0" - factories.ExtensionModules[jaegerremotesampling.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.108.0" - factories.ExtensionModules[oauth2clientauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.108.0" - factories.ExtensionModules[cfgardenobserver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/cfgardenobserver v0.108.0" - factories.ExtensionModules[dockerobserver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver v0.108.0" - factories.ExtensionModules[ecsobserver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver v0.108.0" - factories.ExtensionModules[ecstaskobserver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver v0.108.0" - factories.ExtensionModules[hostobserver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver v0.108.0" - factories.ExtensionModules[k8sobserver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.108.0" - factories.ExtensionModules[oidcauthextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension v0.108.0" - factories.ExtensionModules[opampextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension v0.108.0" - factories.ExtensionModules[pprofextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.108.0" - factories.ExtensionModules[remotetapextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension v0.108.0" - factories.ExtensionModules[sigv4authextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.108.0" - factories.ExtensionModules[solarwindsapmsettingsextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension v0.108.0" - factories.ExtensionModules[dbstorage.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage v0.108.0" - factories.ExtensionModules[filestorage.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0" - factories.ExtensionModules[sumologicextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.108.0" - factories.ExtensionModules[otlpencodingextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.108.0" - factories.ExtensionModules[jaegerencodingextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jaegerencodingextension v0.108.0" - factories.ExtensionModules[avrologencodingextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/avrologencodingextension v0.108.0" - factories.ExtensionModules[jsonlogencodingextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jsonlogencodingextension v0.108.0" - factories.ExtensionModules[textencodingextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/textencodingextension v0.108.0" - factories.ExtensionModules[zipkinencodingextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension v0.108.0" - - factories.Receivers, err = receiver.MakeFactoryMap( - nopreceiver.NewFactory(), - otlpreceiver.NewFactory(), - activedirectorydsreceiver.NewFactory(), - aerospikereceiver.NewFactory(), - apachereceiver.NewFactory(), - apachesparkreceiver.NewFactory(), - awscloudwatchreceiver.NewFactory(), - awscontainerinsightreceiver.NewFactory(), - awsecscontainermetricsreceiver.NewFactory(), - awsfirehosereceiver.NewFactory(), - awsxrayreceiver.NewFactory(), - azureblobreceiver.NewFactory(), - azureeventhubreceiver.NewFactory(), - azuremonitorreceiver.NewFactory(), - bigipreceiver.NewFactory(), - carbonreceiver.NewFactory(), - chronyreceiver.NewFactory(), - cloudflarereceiver.NewFactory(), - cloudfoundryreceiver.NewFactory(), - collectdreceiver.NewFactory(), - couchdbreceiver.NewFactory(), - datadogreceiver.NewFactory(), - dockerstatsreceiver.NewFactory(), - elasticsearchreceiver.NewFactory(), - expvarreceiver.NewFactory(), - filelogreceiver.NewFactory(), - filestatsreceiver.NewFactory(), - flinkmetricsreceiver.NewFactory(), - fluentforwardreceiver.NewFactory(), - githubreceiver.NewFactory(), - googlecloudpubsubreceiver.NewFactory(), - googlecloudspannerreceiver.NewFactory(), - haproxyreceiver.NewFactory(), - hostmetricsreceiver.NewFactory(), - httpcheckreceiver.NewFactory(), - huaweicloudcesreceiver.NewFactory(), - huaweicloudlogsreceiver.NewFactory(), - influxdbreceiver.NewFactory(), - iisreceiver.NewFactory(), - jaegerreceiver.NewFactory(), - jmxreceiver.NewFactory(), - journaldreceiver.NewFactory(), - k8sclusterreceiver.NewFactory(), - k8seventsreceiver.NewFactory(), - k8sobjectsreceiver.NewFactory(), - kafkametricsreceiver.NewFactory(), - kafkareceiver.NewFactory(), - kubeletstatsreceiver.NewFactory(), - lokireceiver.NewFactory(), - memcachedreceiver.NewFactory(), - mongodbatlasreceiver.NewFactory(), - mongodbreceiver.NewFactory(), - mysqlreceiver.NewFactory(), - namedpipereceiver.NewFactory(), - nginxreceiver.NewFactory(), - nsxtreceiver.NewFactory(), - opencensusreceiver.NewFactory(), - oracledbreceiver.NewFactory(), - otelarrowreceiver.NewFactory(), - otlpjsonfilereceiver.NewFactory(), - podmanreceiver.NewFactory(), - postgresqlreceiver.NewFactory(), - prometheusreceiver.NewFactory(), - pulsarreceiver.NewFactory(), - purefareceiver.NewFactory(), - purefbreceiver.NewFactory(), - rabbitmqreceiver.NewFactory(), - receivercreator.NewFactory(), - redisreceiver.NewFactory(), - riakreceiver.NewFactory(), - sapmreceiver.NewFactory(), - signalfxreceiver.NewFactory(), - simpleprometheusreceiver.NewFactory(), - skywalkingreceiver.NewFactory(), - snowflakereceiver.NewFactory(), - solacereceiver.NewFactory(), - splunkenterprisereceiver.NewFactory(), - splunkhecreceiver.NewFactory(), - sqlqueryreceiver.NewFactory(), - sqlserverreceiver.NewFactory(), - sshcheckreceiver.NewFactory(), - statsdreceiver.NewFactory(), - syslogreceiver.NewFactory(), - tcplogreceiver.NewFactory(), - udplogreceiver.NewFactory(), - vcenterreceiver.NewFactory(), - wavefrontreceiver.NewFactory(), - webhookeventreceiver.NewFactory(), - snmpreceiver.NewFactory(), - windowsperfcountersreceiver.NewFactory(), - windowseventlogreceiver.NewFactory(), - zipkinreceiver.NewFactory(), - zookeeperreceiver.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ReceiverModules = make(map[component.Type]string, len(factories.Receivers)) - factories.ReceiverModules[nopreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/nopreceiver v0.108.2-0.20240909182537-32cff9f7f331" - factories.ReceiverModules[otlpreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331" - factories.ReceiverModules[activedirectorydsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver v0.108.0" - factories.ReceiverModules[aerospikereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver v0.108.0" - factories.ReceiverModules[apachereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver v0.108.0" - factories.ReceiverModules[apachesparkreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver v0.108.0" - factories.ReceiverModules[awscloudwatchreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver v0.108.0" - factories.ReceiverModules[awscontainerinsightreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver v0.108.0" - factories.ReceiverModules[awsecscontainermetricsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver v0.108.0" - factories.ReceiverModules[awsfirehosereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver v0.108.0" - factories.ReceiverModules[awsxrayreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver v0.108.0" - factories.ReceiverModules[azureblobreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver v0.108.0" - factories.ReceiverModules[azureeventhubreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver v0.108.0" - factories.ReceiverModules[azuremonitorreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver v0.108.0" - factories.ReceiverModules[bigipreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver v0.108.0" - factories.ReceiverModules[carbonreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.108.0" - factories.ReceiverModules[chronyreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver v0.108.0" - factories.ReceiverModules[cloudflarereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver v0.108.0" - factories.ReceiverModules[cloudfoundryreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver v0.108.0" - factories.ReceiverModules[collectdreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver v0.108.0" - factories.ReceiverModules[couchdbreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver v0.108.0" - factories.ReceiverModules[datadogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver v0.108.0" - factories.ReceiverModules[dockerstatsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.108.0" - factories.ReceiverModules[elasticsearchreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver v0.108.0" - factories.ReceiverModules[expvarreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver v0.108.0" - factories.ReceiverModules[filelogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.108.0" - factories.ReceiverModules[filestatsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver v0.108.0" - factories.ReceiverModules[flinkmetricsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver v0.108.0" - factories.ReceiverModules[fluentforwardreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.108.0" - factories.ReceiverModules[githubreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/githubreceiver v0.108.0" - factories.ReceiverModules[googlecloudpubsubreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver v0.108.0" - factories.ReceiverModules[googlecloudspannerreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudspannerreceiver v0.108.0" - factories.ReceiverModules[haproxyreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver v0.108.0" - factories.ReceiverModules[hostmetricsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.108.0" - factories.ReceiverModules[httpcheckreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.108.0" - factories.ReceiverModules[huaweicloudcesreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver v0.108.0" - factories.ReceiverModules[huaweicloudlogsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudlogsreceiver v0.108.0" - factories.ReceiverModules[influxdbreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.108.0" - factories.ReceiverModules[iisreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver v0.108.0" - factories.ReceiverModules[jaegerreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.108.0" - factories.ReceiverModules[jmxreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.108.0" - factories.ReceiverModules[journaldreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver v0.108.0" - factories.ReceiverModules[k8sclusterreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.108.0" - factories.ReceiverModules[k8seventsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver v0.108.0" - factories.ReceiverModules[k8sobjectsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.108.0" - factories.ReceiverModules[kafkametricsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.108.0" - factories.ReceiverModules[kafkareceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.108.0" - factories.ReceiverModules[kubeletstatsreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.108.0" - factories.ReceiverModules[lokireceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver v0.108.0" - factories.ReceiverModules[memcachedreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver v0.108.0" - factories.ReceiverModules[mongodbatlasreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver v0.108.0" - factories.ReceiverModules[mongodbreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.108.0" - factories.ReceiverModules[mysqlreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver v0.108.0" - factories.ReceiverModules[namedpipereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver v0.108.0" - factories.ReceiverModules[nginxreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.108.0" - factories.ReceiverModules[nsxtreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver v0.108.0" - factories.ReceiverModules[opencensusreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0" - factories.ReceiverModules[oracledbreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver v0.108.0" - factories.ReceiverModules[otelarrowreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver v0.108.0" - factories.ReceiverModules[otlpjsonfilereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver v0.108.0" - factories.ReceiverModules[podmanreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver v0.108.0" - factories.ReceiverModules[postgresqlreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver v0.108.0" - factories.ReceiverModules[prometheusreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0" - factories.ReceiverModules[pulsarreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver v0.108.0" - factories.ReceiverModules[purefareceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefareceiver v0.108.0" - factories.ReceiverModules[purefbreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefbreceiver v0.108.0" - factories.ReceiverModules[rabbitmqreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver v0.108.0" - factories.ReceiverModules[receivercreator.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.108.0" - factories.ReceiverModules[redisreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.108.0" - factories.ReceiverModules[riakreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver v0.108.0" - factories.ReceiverModules[sapmreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.108.0" - factories.ReceiverModules[signalfxreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.108.0" - factories.ReceiverModules[simpleprometheusreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver v0.108.0" - factories.ReceiverModules[skywalkingreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver v0.108.0" - factories.ReceiverModules[snowflakereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver v0.108.0" - factories.ReceiverModules[solacereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver v0.108.0" - factories.ReceiverModules[splunkenterprisereceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver v0.108.0" - factories.ReceiverModules[splunkhecreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.108.0" - factories.ReceiverModules[sqlqueryreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver v0.108.0" - factories.ReceiverModules[sqlserverreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver v0.108.0" - factories.ReceiverModules[sshcheckreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver v0.108.0" - factories.ReceiverModules[statsdreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver v0.108.0" - factories.ReceiverModules[syslogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.108.0" - factories.ReceiverModules[tcplogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.108.0" - factories.ReceiverModules[udplogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.108.0" - factories.ReceiverModules[vcenterreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.108.0" - factories.ReceiverModules[wavefrontreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.108.0" - factories.ReceiverModules[webhookeventreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.108.0" - factories.ReceiverModules[snmpreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver v0.108.0" - factories.ReceiverModules[windowsperfcountersreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.108.0" - factories.ReceiverModules[windowseventlogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.108.0" - factories.ReceiverModules[zipkinreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0" - factories.ReceiverModules[zookeeperreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver v0.108.0" - - factories.Exporters, err = exporter.MakeFactoryMap( - debugexporter.NewFactory(), - nopexporter.NewFactory(), - otlpexporter.NewFactory(), - otlphttpexporter.NewFactory(), - alertmanagerexporter.NewFactory(), - alibabacloudlogserviceexporter.NewFactory(), - awscloudwatchlogsexporter.NewFactory(), - awsemfexporter.NewFactory(), - awskinesisexporter.NewFactory(), - awss3exporter.NewFactory(), - awsxrayexporter.NewFactory(), - azuredataexplorerexporter.NewFactory(), - azuremonitorexporter.NewFactory(), - carbonexporter.NewFactory(), - clickhouseexporter.NewFactory(), - cassandraexporter.NewFactory(), - coralogixexporter.NewFactory(), - datadogexporter.NewFactory(), - datasetexporter.NewFactory(), - elasticsearchexporter.NewFactory(), - fileexporter.NewFactory(), - googlecloudexporter.NewFactory(), - googlecloudpubsubexporter.NewFactory(), - googlemanagedprometheusexporter.NewFactory(), - honeycombmarkerexporter.NewFactory(), - influxdbexporter.NewFactory(), - instanaexporter.NewFactory(), - kafkaexporter.NewFactory(), - loadbalancingexporter.NewFactory(), - logicmonitorexporter.NewFactory(), - logzioexporter.NewFactory(), - lokiexporter.NewFactory(), - mezmoexporter.NewFactory(), - opencensusexporter.NewFactory(), - opensearchexporter.NewFactory(), - otelarrowexporter.NewFactory(), - prometheusexporter.NewFactory(), - prometheusremotewriteexporter.NewFactory(), - pulsarexporter.NewFactory(), - rabbitmqexporter.NewFactory(), - sapmexporter.NewFactory(), - sentryexporter.NewFactory(), - signalfxexporter.NewFactory(), - splunkhecexporter.NewFactory(), - sumologicexporter.NewFactory(), - syslogexporter.NewFactory(), - tencentcloudlogserviceexporter.NewFactory(), - zipkinexporter.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ExporterModules = make(map[component.Type]string, len(factories.Exporters)) - factories.ExporterModules[debugexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExporterModules[nopexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/nopexporter v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExporterModules[otlpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExporterModules[otlphttpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExporterModules[alertmanagerexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter v0.108.0" - factories.ExporterModules[alibabacloudlogserviceexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.108.0" - factories.ExporterModules[awscloudwatchlogsexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.108.0" - factories.ExporterModules[awsemfexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.108.0" - factories.ExporterModules[awskinesisexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.108.0" - factories.ExporterModules[awss3exporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.108.0" - factories.ExporterModules[awsxrayexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.108.0" - factories.ExporterModules[azuredataexplorerexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.108.0" - factories.ExporterModules[azuremonitorexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.108.0" - factories.ExporterModules[carbonexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.108.0" - factories.ExporterModules[clickhouseexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.108.0" - factories.ExporterModules[cassandraexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.108.0" - factories.ExporterModules[coralogixexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.108.0" - factories.ExporterModules[datadogexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.108.0" - factories.ExporterModules[datasetexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.108.0" - factories.ExporterModules[elasticsearchexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.108.0" - factories.ExporterModules[fileexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.108.0" - factories.ExporterModules[googlecloudexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.108.0" - factories.ExporterModules[googlecloudpubsubexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.108.0" - factories.ExporterModules[googlemanagedprometheusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.108.0" - factories.ExporterModules[honeycombmarkerexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.108.0" - factories.ExporterModules[influxdbexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.108.0" - factories.ExporterModules[instanaexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter v0.108.0" - factories.ExporterModules[kafkaexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.108.0" - factories.ExporterModules[loadbalancingexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.108.0" - factories.ExporterModules[logicmonitorexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.108.0" - factories.ExporterModules[logzioexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.108.0" - factories.ExporterModules[lokiexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.108.0" - factories.ExporterModules[mezmoexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.108.0" - factories.ExporterModules[opencensusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.108.0" - factories.ExporterModules[opensearchexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.108.0" - factories.ExporterModules[otelarrowexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter v0.108.0" - factories.ExporterModules[prometheusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.108.0" - factories.ExporterModules[prometheusremotewriteexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.108.0" - factories.ExporterModules[pulsarexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.108.0" - factories.ExporterModules[rabbitmqexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter v0.108.0" - factories.ExporterModules[sapmexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.108.0" - factories.ExporterModules[sentryexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.108.0" - factories.ExporterModules[signalfxexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.108.0" - factories.ExporterModules[splunkhecexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.108.0" - factories.ExporterModules[sumologicexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.108.0" - factories.ExporterModules[syslogexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.108.0" - factories.ExporterModules[tencentcloudlogserviceexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.108.0" - factories.ExporterModules[zipkinexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.108.0" - - factories.Processors, err = processor.MakeFactoryMap( - batchprocessor.NewFactory(), - memorylimiterprocessor.NewFactory(), - attributesprocessor.NewFactory(), - cumulativetodeltaprocessor.NewFactory(), - deltatocumulativeprocessor.NewFactory(), - deltatorateprocessor.NewFactory(), - filterprocessor.NewFactory(), - geoipprocessor.NewFactory(), - groupbyattrsprocessor.NewFactory(), - groupbytraceprocessor.NewFactory(), - intervalprocessor.NewFactory(), - k8sattributesprocessor.NewFactory(), - logdedupprocessor.NewFactory(), - metricsgenerationprocessor.NewFactory(), - metricstransformprocessor.NewFactory(), - probabilisticsamplerprocessor.NewFactory(), - redactionprocessor.NewFactory(), - resourcedetectionprocessor.NewFactory(), - resourceprocessor.NewFactory(), - routingprocessor.NewFactory(), - sumologicprocessor.NewFactory(), - spanprocessor.NewFactory(), - tailsamplingprocessor.NewFactory(), - transformprocessor.NewFactory(), - remotetapprocessor.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ProcessorModules = make(map[component.Type]string, len(factories.Processors)) - factories.ProcessorModules[batchprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331" - factories.ProcessorModules[memorylimiterprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331" - factories.ProcessorModules[attributesprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.108.0" - factories.ProcessorModules[cumulativetodeltaprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.108.0" - factories.ProcessorModules[deltatocumulativeprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.108.0" - factories.ProcessorModules[deltatorateprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.108.0" - factories.ProcessorModules[filterprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.108.0" - factories.ProcessorModules[geoipprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.108.0" - factories.ProcessorModules[groupbyattrsprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.108.0" - factories.ProcessorModules[groupbytraceprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.108.0" - factories.ProcessorModules[intervalprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/intervalprocessor v0.108.0" - factories.ProcessorModules[k8sattributesprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.108.0" - factories.ProcessorModules[logdedupprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/logdedupprocessor v0.108.0" - factories.ProcessorModules[metricsgenerationprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.108.0" - factories.ProcessorModules[metricstransformprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.108.0" - factories.ProcessorModules[probabilisticsamplerprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.108.0" - factories.ProcessorModules[redactionprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.108.0" - factories.ProcessorModules[resourcedetectionprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.108.0" - factories.ProcessorModules[resourceprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.108.0" - factories.ProcessorModules[routingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.108.0" - factories.ProcessorModules[sumologicprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.108.0" - factories.ProcessorModules[spanprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.108.0" - factories.ProcessorModules[tailsamplingprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.108.0" - factories.ProcessorModules[transformprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.108.0" - factories.ProcessorModules[remotetapprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.108.0" - - factories.Connectors, err = connector.MakeFactoryMap( - forwardconnector.NewFactory(), - countconnector.NewFactory(), - datadogconnector.NewFactory(), - exceptionsconnector.NewFactory(), - failoverconnector.NewFactory(), - grafanacloudconnector.NewFactory(), - otlpjsonconnector.NewFactory(), - roundrobinconnector.NewFactory(), - routingconnector.NewFactory(), - servicegraphconnector.NewFactory(), - spanmetricsconnector.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ConnectorModules = make(map[component.Type]string, len(factories.Connectors)) - factories.ConnectorModules[forwardconnector.NewFactory().Type()] = "go.opentelemetry.io/collector/connector/forwardconnector v0.108.2-0.20240909182537-32cff9f7f331" - factories.ConnectorModules[countconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.108.0" - factories.ConnectorModules[datadogconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.108.0" - factories.ConnectorModules[exceptionsconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.108.0" - factories.ConnectorModules[failoverconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector v0.108.0" - factories.ConnectorModules[grafanacloudconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector v0.108.0" - factories.ConnectorModules[otlpjsonconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/otlpjsonconnector v0.108.0" - factories.ConnectorModules[roundrobinconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector v0.108.0" - factories.ConnectorModules[routingconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.108.0" - factories.ConnectorModules[servicegraphconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.108.0" - factories.ConnectorModules[spanmetricsconnector.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.108.0" - - return factories, nil -} diff --git a/cmd/otelcontribcol/distribution_metadata_test.go b/cmd/otelcontribcol/distribution_metadata_test.go deleted file mode 100644 index 8a85183d2d51..000000000000 --- a/cmd/otelcontribcol/distribution_metadata_test.go +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package main - -import ( - "context" - "os" - "path/filepath" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/confmap" - "go.opentelemetry.io/collector/confmap/provider/fileprovider" -) - -func TestComponentsArePresent(t *testing.T) { - components, err := components() - require.NoError(t, err) - var metadataComponents []string - e := filepath.Walk(filepath.Join("..", ".."), func(path string, info os.FileInfo, err error) error { - if err == nil && "metadata.yaml" == info.Name() { - metadataComponents = append(metadataComponents, path) - } - return nil - }) - require.NoError(t, e) - - for _, metadataComponent := range metadataComponents { - t.Run(metadataComponent, func(tt *testing.T) { - m, err := loadMetadata(metadataComponent) - require.NoError(tt, err) - if m.Status == nil { - tt.Skip("no status present, skipping", metadataComponent) - return - } - inDevelopment := len(m.Status.Stability) == 0 - deprecated := false - inUse := false - for stability, pipelines := range m.Status.Stability { - if len(pipelines) > 0 { - switch stability { - case "development": - inDevelopment = true - case "deprecated": - deprecated = true - case "unmaintained": - // consider not in use. - default: // alpha, beta, stable - inUse = true - } - } - } - - if inDevelopment && !inUse { - tt.Skip("component in development, skipping", metadataComponent) - return - } - - if deprecated && !inUse { - tt.Skip("component deprecated, skipping", metadataComponent) - return - } - - cType := component.MustNewType(m.Type) - switch m.Status.Class { - case "connector": - assert.NotNil(tt, components.Connectors[cType], "missing connector: %s", m.Type) - case "exporter": - assert.NotNil(tt, components.Exporters[cType], "missing exporter: %s", m.Type) - case "extension": - assert.NotNil(tt, components.Extensions[cType], "missing extension: %s", m.Type) - case "processor": - assert.NotNil(tt, components.Processors[cType], "missing processor: %s", m.Type) - case "receiver": - assert.NotNil(tt, components.Receivers[cType], "missing receiver: %s", m.Type) - } - }) - } -} - -func loadMetadata(filePath string) (metadata, error) { - cp, err := fileprovider.NewFactory().Create(confmap.ProviderSettings{}).Retrieve(context.Background(), "file:"+filePath, nil) - if err != nil { - return metadata{}, err - } - - conf, err := cp.AsConf() - if err != nil { - return metadata{}, err - } - - md := metadata{} - if err := conf.Unmarshal(&md, confmap.WithIgnoreUnused()); err != nil { - return md, err - } - - return md, nil -} - -type metadata struct { - Type string `mapstructure:"type"` - Status *status `mapstructure:"status"` -} - -type status struct { - Stability map[string][]string `mapstructure:"stability"` - Distributions []string `mapstructure:"distributions"` - Class string `mapstructure:"class"` - Warnings []string `mapstructure:"warnings"` -} diff --git a/cmd/otelcontribcol/exporters_test.go b/cmd/otelcontribcol/exporters_test.go deleted file mode 100644 index e134e8f0aa5c..000000000000 --- a/cmd/otelcontribcol/exporters_test.go +++ /dev/null @@ -1,736 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package main - -import ( - "context" - "errors" - "path/filepath" - "runtime" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configgrpc" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/exportertest" - "go.opentelemetry.io/collector/exporter/otlpexporter" - "go.opentelemetry.io/collector/exporter/otlphttpexporter" - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/plog" - "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" -) - -func TestDefaultExporters(t *testing.T) { - factories, err := components() - assert.NoError(t, err) - - expFactories := factories.Exporters - endpoint := testutil.GetAvailableLocalAddress(t) - - tests := []struct { - getConfigFn getExporterConfigFn - exporter component.Type - skipLifecycle bool - expectConsumeErr bool - }{ - { - exporter: "awscloudwatchlogs", - getConfigFn: func() component.Config { - cfg := expFactories["awscloudwatchlogs"].CreateDefaultConfig().(*awscloudwatchlogsexporter.Config) - cfg.Endpoint = "http://" + endpoint - cfg.Region = "local" - - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "awss3", - expectConsumeErr: true, - }, - { - exporter: "file", - getConfigFn: func() component.Config { - cfg := expFactories["file"].CreateDefaultConfig().(*fileexporter.Config) - cfg.Path = filepath.Join(t.TempDir(), "file.exporter.random.file") - return cfg - }, - skipLifecycle: runtime.GOOS == "windows", // On Windows not all handles are closed when the exporter is shutdown. - }, - { - exporter: "kafka", - getConfigFn: func() component.Config { - cfg := expFactories["kafka"].CreateDefaultConfig().(*kafkaexporter.Config) - cfg.Brokers = []string{"invalid:9092"} - // this disables contacting the broker so we can successfully create the exporter - cfg.Metadata.Full = false - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "debug", - }, - { - exporter: "opencensus", - getConfigFn: func() component.Config { - cfg := expFactories["opencensus"].CreateDefaultConfig().(*opencensusexporter.Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: endpoint, - } - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "opensearch", - getConfigFn: func() component.Config { - cfg := expFactories["opensearch"].CreateDefaultConfig().(*opensearchexporter.Config) - cfg.ClientConfig = confighttp.ClientConfig{ - Endpoint: "http://" + endpoint, - } - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "otlp", - getConfigFn: func() component.Config { - cfg := expFactories["otlp"].CreateDefaultConfig().(*otlpexporter.Config) - cfg.ClientConfig = configgrpc.ClientConfig{ - Endpoint: endpoint, - } - // disable queue/retry to validate passing the test data synchronously - cfg.QueueConfig.Enabled = false - cfg.RetryConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "otlphttp", - getConfigFn: func() component.Config { - cfg := expFactories["otlphttp"].CreateDefaultConfig().(*otlphttpexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue/retry to validate passing the test data synchronously - cfg.QueueConfig.Enabled = false - cfg.RetryConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "prometheus", - getConfigFn: func() component.Config { - cfg := expFactories["prometheus"].CreateDefaultConfig().(*prometheusexporter.Config) - cfg.Endpoint = endpoint - return cfg - }, - }, - { - exporter: "prometheusremotewrite", - getConfigFn: func() component.Config { - cfg := expFactories["prometheusremotewrite"].CreateDefaultConfig().(*prometheusremotewriteexporter.Config) - // disable queue/retry to validate passing the test data synchronously - cfg.RemoteWriteQueue.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "pulsar", - getConfigFn: func() component.Config { - cfg := expFactories["pulsar"].CreateDefaultConfig().(*pulsarexporter.Config) - cfg.Endpoint = "http://localhost:6650" - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "rabbitmq", - getConfigFn: func() component.Config { - cfg := expFactories["rabbitmq"].CreateDefaultConfig().(*rabbitmqexporter.Config) - cfg.Connection.Endpoint = "amqp://localhost:5672" - cfg.Connection.Auth.Plain.Username = "user" - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "sapm", - getConfigFn: func() component.Config { - cfg := expFactories["sapm"].CreateDefaultConfig().(*sapmexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "signalfx", - getConfigFn: func() component.Config { - cfg := expFactories["signalfx"].CreateDefaultConfig().(*signalfxexporter.Config) - cfg.AccessToken = "my_fake_token" - cfg.IngestURL = "http://" + endpoint - cfg.APIURL = "http://" + endpoint - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "splunk_hec", - getConfigFn: func() component.Config { - cfg := expFactories["splunk_hec"].CreateDefaultConfig().(*splunkhecexporter.Config) - cfg.Token = "my_fake_token" - cfg.Endpoint = "http://" + endpoint - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "zipkin", - getConfigFn: func() component.Config { - cfg := expFactories["zipkin"].CreateDefaultConfig().(*zipkinexporter.Config) - cfg.Endpoint = endpoint - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "awskinesis", - getConfigFn: func() component.Config { - cfg := expFactories["awskinesis"].CreateDefaultConfig().(*awskinesisexporter.Config) - cfg.AWS.KinesisEndpoint = "http://" + endpoint - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "alertmanager", - getConfigFn: func() component.Config { - cfg := expFactories["alertmanager"].CreateDefaultConfig().(*alertmanagerexporter.Config) - cfg.ClientConfig = confighttp.ClientConfig{ - Endpoint: "http://" + endpoint, - } - cfg.GeneratorURL = "opentelemetry-collector" - cfg.DefaultSeverity = "info" - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackoffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "alibabacloud_logservice", - getConfigFn: func() component.Config { - cfg := expFactories["alibabacloud_logservice"].CreateDefaultConfig().(*alibabacloudlogserviceexporter.Config) - cfg.Endpoint = "http://" + endpoint - cfg.Project = "otel-testing" - cfg.Logstore = "otel-data" - return cfg - }, - }, - { - exporter: "awsemf", - getConfigFn: func() component.Config { - cfg := expFactories["awsemf"].CreateDefaultConfig().(*awsemfexporter.Config) - cfg.Endpoint = "http://" + endpoint - cfg.Region = "local" - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "awsxray", - getConfigFn: func() component.Config { - cfg := expFactories["awsxray"].CreateDefaultConfig().(*awsxrayexporter.Config) - cfg.Endpoint = "http://" + endpoint - cfg.Region = "local" - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "azuredataexplorer", - getConfigFn: func() component.Config { - cfg := expFactories["azuredataexplorer"].CreateDefaultConfig().(*azuredataexplorerexporter.Config) - cfg.ClusterURI = "https://" + endpoint - cfg.ApplicationID = "otel-app-id" - cfg.ApplicationKey = "otel-app-key" - cfg.TenantID = "otel-tenant-id" - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "azuremonitor", - getConfigFn: func() component.Config { - cfg := expFactories["azuremonitor"].CreateDefaultConfig().(*azuremonitorexporter.Config) - cfg.Endpoint = "http://" + endpoint - cfg.ConnectionString = configopaque.String("InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=" + cfg.Endpoint) - - return cfg - }, - }, - { - exporter: "carbon", - getConfigFn: func() component.Config { - cfg := expFactories["carbon"].CreateDefaultConfig().(*carbonexporter.Config) - cfg.Endpoint = "http://" + endpoint - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "clickhouse", - getConfigFn: func() component.Config { - cfg := expFactories["clickhouse"].CreateDefaultConfig().(*clickhouseexporter.Config) - cfg.Endpoint = "tcp://" + endpoint - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "cassandra", - getConfigFn: func() component.Config { - cfg := expFactories["cassandra"].CreateDefaultConfig().(*cassandraexporter.Config) - cfg.DSN = endpoint - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "coralogix", - getConfigFn: func() component.Config { - cfg := expFactories["coralogix"].CreateDefaultConfig().(*coralogixexporter.Config) - cfg.Traces.Endpoint = endpoint - cfg.Logs.Endpoint = endpoint - cfg.Metrics.Endpoint = endpoint - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "datadog", - getConfigFn: func() component.Config { - cfg := expFactories["datadog"].CreateDefaultConfig().(*datadogexporter.Config) - cfg.API.Key = "cutedogsgotoheaven" - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "dataset", - getConfigFn: func() component.Config { - cfg := expFactories["dataset"].CreateDefaultConfig().(*datasetexporter.Config) - cfg.DatasetURL = "https://" + endpoint - cfg.APIKey = "secret-key" - // disable queue/retry to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - skipLifecycle: true, // shutdown fails if there is buffered data - }, - { - exporter: "elasticsearch", - getConfigFn: func() component.Config { - cfg := expFactories["elasticsearch"].CreateDefaultConfig().(*elasticsearchexporter.Config) - cfg.Endpoints = []string{"http://" + endpoint} - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - return cfg - }, - }, - { - exporter: "googlecloud", - skipLifecycle: true, // Requires credentials to be able to successfully load the exporter - }, - { - exporter: "googlemanagedprometheus", - skipLifecycle: true, // Requires credentials to be able to successfully load the exporter - }, - { - exporter: "googlecloudpubsub", - skipLifecycle: true, - }, - { - exporter: "honeycombmarker", - getConfigFn: func() component.Config { - cfg := expFactories["honeycombmarker"].CreateDefaultConfig().(*honeycombmarkerexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "influxdb", - getConfigFn: func() component.Config { - cfg := expFactories["influxdb"].CreateDefaultConfig().(*influxdbexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "instana", - getConfigFn: func() component.Config { - cfg := expFactories["instana"].CreateDefaultConfig().(*instanaexporter.Config) - cfg.Endpoint = "http://" + endpoint - cfg.AgentKey = "Key1" - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "loadbalancing", - getConfigFn: func() component.Config { - cfg := expFactories["loadbalancing"].CreateDefaultConfig().(*loadbalancingexporter.Config) - cfg.Resolver = loadbalancingexporter.ResolverSettings{Static: &loadbalancingexporter.StaticResolver{Hostnames: []string{"127.0.0.1"}}} - return cfg - }, - expectConsumeErr: true, // the exporter requires traces with service.name resource attribute - }, - { - exporter: "logicmonitor", - getConfigFn: func() component.Config { - cfg := expFactories["logicmonitor"].CreateDefaultConfig().(*logicmonitorexporter.Config) - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - skipLifecycle: true, - }, - { - exporter: "logzio", - getConfigFn: func() component.Config { - cfg := expFactories["logzio"].CreateDefaultConfig().(*logzioexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "loki", - getConfigFn: func() component.Config { - cfg := expFactories["loki"].CreateDefaultConfig().(*lokiexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "mezmo", - getConfigFn: func() component.Config { - cfg := expFactories["mezmo"].CreateDefaultConfig().(*mezmoexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - }, - { - exporter: "sentry", - getConfigFn: func() component.Config { - cfg := expFactories["sentry"].CreateDefaultConfig().(*sentryexporter.Config) - return cfg - }, - skipLifecycle: true, // causes race detector to fail - }, - { - exporter: "sumologic", - getConfigFn: func() component.Config { - cfg := expFactories["sumologic"].CreateDefaultConfig().(*sumologicexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "syslog", - getConfigFn: func() component.Config { - cfg := expFactories["syslog"].CreateDefaultConfig().(*syslogexporter.Config) - cfg.Endpoint = "http://" + endpoint - // disable queue to validate passing the test data synchronously - cfg.QueueSettings.Enabled = false - cfg.BackOffConfig.Enabled = false - return cfg - }, - expectConsumeErr: true, - }, - { - exporter: "tencentcloud_logservice", - getConfigFn: func() component.Config { - cfg := expFactories["tencentcloud_logservice"].CreateDefaultConfig().(*tencentcloudlogserviceexporter.Config) - return cfg - }, - expectConsumeErr: true, - }, - } - - assert.Equal(t, len(expFactories), len(tests), "All user configurable components must be added to the lifecycle test") - for _, tt := range tests { - t.Run(string(tt.exporter), func(t *testing.T) { - factory := expFactories[tt.exporter] - assert.Equal(t, tt.exporter, factory.Type()) - t.Run("shutdown", func(t *testing.T) { - verifyExporterShutdown(t, factory, tt.getConfigFn) - }) - t.Run("lifecycle", func(t *testing.T) { - if tt.skipLifecycle { - t.SkipNow() - } - verifyExporterLifecycle(t, factory, tt.getConfigFn, tt.expectConsumeErr) - }) - }) - } -} - -// GetExporterConfigFn is used customize the configuration passed to the verification. -// This is used to change ports or provide values required but not provided by the -// default configuration. -type getExporterConfigFn func() component.Config - -// verifyExporterLifecycle is used to test if an exporter type can handle the typical -// lifecycle of a component. The getConfigFn parameter only need to be specified if -// the test can't be done with the default configuration for the component. -func verifyExporterLifecycle(t *testing.T, factory exporter.Factory, getConfigFn getExporterConfigFn, expectErr bool) { - ctx := context.Background() - host := newAssertNoErrorHost(t) - expCreateSettings := exportertest.NewNopSettings() - - cfg := factory.CreateDefaultConfig() - if getConfigFn != nil { - cfg = getConfigFn() - } - - createFns := []createExporterFn{ - wrapCreateLogsExp(factory), - wrapCreateTracesExp(factory), - wrapCreateMetricsExp(factory), - } - - for i := 0; i < 2; i++ { - var exps []component.Component - for _, createFn := range createFns { - exp, err := createFn(ctx, expCreateSettings, cfg) - if errors.Is(err, component.ErrDataTypeIsNotSupported) { - continue - } - require.NoError(t, err) - require.NoError(t, exp.Start(ctx, host)) - exps = append(exps, exp) - } - for _, exp := range exps { - var err error - assert.NotPanics(t, func() { - switch e := exp.(type) { - case exporter.Logs: - logs := generateTestLogs() - if !e.Capabilities().MutatesData { - logs.MarkReadOnly() - } - err = e.ConsumeLogs(ctx, logs) - case exporter.Metrics: - metrics := generateTestMetrics() - if !e.Capabilities().MutatesData { - metrics.MarkReadOnly() - } - err = e.ConsumeMetrics(ctx, metrics) - case exporter.Traces: - traces := generateTestTraces() - if !e.Capabilities().MutatesData { - traces.MarkReadOnly() - } - err = e.ConsumeTraces(ctx, traces) - } - }) - if !expectErr { - assert.NoError(t, err) - } - assert.NoError(t, exp.Shutdown(ctx)) - } - } -} - -func generateTestLogs() plog.Logs { - logs := plog.NewLogs() - rl := logs.ResourceLogs().AppendEmpty() - rl.Resource().Attributes().PutStr("resource", "R1") - l := rl.ScopeLogs().AppendEmpty().LogRecords().AppendEmpty() - l.Body().SetStr("test log message") - l.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return logs -} - -func generateTestMetrics() pmetric.Metrics { - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("resource", "R1") - m := rm.ScopeMetrics().AppendEmpty().Metrics().AppendEmpty() - m.SetName("test_metric") - dp := m.Gauge().DataPoints().AppendEmpty() - dp.Attributes().PutStr("test_attr", "value_1") - dp.SetIntValue(123) - dp.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return metrics -} - -func generateTestTraces() ptrace.Traces { - traces := ptrace.NewTraces() - rs := traces.ResourceSpans().AppendEmpty() - rs.Resource().Attributes().PutStr("resource", "R1") - span := rs.ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutStr("test_attr", "value_1") - span.SetName("test_span") - span.SetStartTimestamp(pcommon.NewTimestampFromTime(time.Now().Add(-1 * time.Second))) - span.SetEndTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return traces -} - -// verifyExporterShutdown is used to test if an exporter type can be shutdown without being started first. -func verifyExporterShutdown(tb testing.TB, factory exporter.Factory, getConfigFn getExporterConfigFn) { - ctx := context.Background() - expCreateSettings := exportertest.NewNopSettings() - - if getConfigFn == nil { - getConfigFn = factory.CreateDefaultConfig - } - - createFns := []createExporterFn{ - wrapCreateLogsExp(factory), - wrapCreateTracesExp(factory), - wrapCreateMetricsExp(factory), - } - - for _, createFn := range createFns { - r, err := createFn(ctx, expCreateSettings, getConfigFn()) - if errors.Is(err, component.ErrDataTypeIsNotSupported) { - continue - } - if r == nil { - continue - } - assert.NotPanics(tb, func() { - assert.NoError(tb, r.Shutdown(ctx)) - }) - } -} - -type createExporterFn func( - ctx context.Context, - set exporter.Settings, - cfg component.Config, -) (component.Component, error) - -func wrapCreateLogsExp(factory exporter.Factory) createExporterFn { - return func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) - } -} - -func wrapCreateTracesExp(factory exporter.Factory) createExporterFn { - return func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) - } -} - -func wrapCreateMetricsExp(factory exporter.Factory) createExporterFn { - return func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) - } -} diff --git a/cmd/otelcontribcol/extensions_test.go b/cmd/otelcontribcol/extensions_test.go deleted file mode 100644 index c7b9c6f2422d..000000000000 --- a/cmd/otelcontribcol/extensions_test.go +++ /dev/null @@ -1,352 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package main - -import ( - "context" - "errors" - "os" - "path/filepath" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/extension" - "go.opentelemetry.io/collector/extension/extensiontest" - "go.opentelemetry.io/collector/extension/zpagesextension" - - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" -) - -func TestDefaultExtensions(t *testing.T) { - allFactories, err := components() - require.NoError(t, err) - - extFactories := allFactories.Extensions - endpoint := testutil.GetAvailableLocalAddress(t) - - tests := []struct { - getConfigFn getExtensionConfigFn - extension component.Type - skipLifecycle bool - }{ - { - extension: "health_check", - getConfigFn: func() component.Config { - cfg := extFactories["health_check"].CreateDefaultConfig().(*healthcheckextension.Config) - cfg.Endpoint = endpoint - return cfg - }, - }, - { - extension: "healthcheckv2", - getConfigFn: func() component.Config { - cfg := extFactories["healthcheckv2"].CreateDefaultConfig().(*healthcheckv2extension.Config) - cfg.Endpoint = endpoint - return cfg - }, - }, - { - extension: "pprof", - getConfigFn: func() component.Config { - cfg := extFactories["pprof"].CreateDefaultConfig().(*pprofextension.Config) - cfg.TCPAddr.Endpoint = endpoint - return cfg - }, - }, - { - extension: "sigv4auth", - getConfigFn: func() component.Config { - cfg := extFactories["sigv4auth"].CreateDefaultConfig().(*sigv4authextension.Config) - return cfg - }, - }, - { - extension: "zpages", - getConfigFn: func() component.Config { - cfg := extFactories["zpages"].CreateDefaultConfig().(*zpagesextension.Config) - cfg.TCPAddr.Endpoint = endpoint - return cfg - }, - }, - { - extension: "basicauth", - getConfigFn: func() component.Config { - cfg := extFactories["basicauth"].CreateDefaultConfig().(*basicauthextension.Config) - // No need to clean up, t.TempDir will be deleted entirely. - fileName := filepath.Join(t.TempDir(), "random.file") - require.NoError(t, os.WriteFile(fileName, []byte("username:password"), 0600)) - - cfg.Htpasswd = &basicauthextension.HtpasswdSettings{ - File: fileName, - Inline: "username:password", - } - return cfg - }, - }, - { - extension: "bearertokenauth", - getConfigFn: func() component.Config { - cfg := extFactories["bearertokenauth"].CreateDefaultConfig().(*bearertokenauthextension.Config) - cfg.BearerToken = "sometoken" - return cfg - }, - }, - { - extension: "asapclient", - getConfigFn: func() component.Config { - cfg := extFactories["asapclient"].CreateDefaultConfig().(*asapauthextension.Config) - cfg.KeyID = "test_issuer/test_kid" - cfg.Issuer = "test_issuer" - cfg.Audience = []string{"some_service"} - cfg.TTL = 10 * time.Second - // Valid PEM data required for successful initialisation. Key not actually used anywhere. - cfg.PrivateKey = "data:application/pkcs8;kid=test;base64,MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgE" + - "AAkEA0ZPr5JeyVDoB8RyZqQsx6qUD+9gMFg1/0hgdAvmytWBMXQJYdwkK2dFJwwZcWJVhJGcOJBDfB/8tcbdJd34KZQIDAQ" + - "ABAkBZD20tJTHJDSWKGsdJyNIbjqhUu4jXTkFFPK4Hd6jz3gV3fFvGnaolsD5Bt50dTXAiSCpFNSb9M9GY6XUAAdlBAiEA6" + - "MccfdZRfVapxKtAZbjXuAgMvnPtTvkVmwvhWLT5Wy0CIQDmfE8Et/pou0Jl6eM0eniT8/8oRzBWgy9ejDGfj86PGQIgWePq" + - "IL4OofRBgu0O5TlINI0HPtTNo12U9lbUIslgMdECICXT2RQpLcvqj+cyD7wZLZj6vrHZnTFVrnyR/cL2UyxhAiBswe/MCcD" + - "7T7J4QkNrCG+ceQGypc7LsxlIxQuKh5GWYA==" - return cfg - }, - }, - { - extension: "ecs_observer", - skipLifecycle: true, - }, - { - extension: "ecs_task_observer", - getConfigFn: func() component.Config { - cfg := extFactories["ecs_task_observer"].CreateDefaultConfig().(*ecstaskobserver.Config) - cfg.Endpoint = "http://localhost" - return cfg - }, - }, - { - extension: "awsproxy", - skipLifecycle: true, // Requires EC2 metadata service to be running - }, - { - extension: "http_forwarder", - getConfigFn: func() component.Config { - cfg := extFactories["http_forwarder"].CreateDefaultConfig().(*httpforwarderextension.Config) - cfg.Egress.Endpoint = "http://" + endpoint - cfg.Ingress.Endpoint = testutil.GetAvailableLocalAddress(t) - return cfg - }, - }, - { - extension: "oauth2client", - getConfigFn: func() component.Config { - cfg := extFactories["oauth2client"].CreateDefaultConfig().(*oauth2clientauthextension.Config) - cfg.ClientID = "otel-extension" - cfg.ClientSecret = "testsarehard" - cfg.TokenURL = "http://" + endpoint - return cfg - }, - }, - { - extension: "oidc", - skipLifecycle: true, // Requires a running OIDC server in order to complete life cycle testing - }, - { - extension: "db_storage", - getConfigFn: func() component.Config { - cfg := extFactories["db_storage"].CreateDefaultConfig().(*dbstorage.Config) - cfg.DriverName = "sqlite3" - cfg.DataSource = filepath.Join(t.TempDir(), "foo.db") - return cfg - }, - }, - { - extension: "file_storage", - getConfigFn: func() component.Config { - cfg := extFactories["file_storage"].CreateDefaultConfig().(*filestorage.Config) - cfg.Directory = t.TempDir() - return cfg - }, - }, - { - extension: "host_observer", - getConfigFn: func() component.Config { - cfg := extFactories["host_observer"].CreateDefaultConfig().(*hostobserver.Config) - return cfg - }, - }, - { - extension: "k8s_observer", - skipLifecycle: true, // Requires a K8s api to interfact with and validate - }, - { - extension: "docker_observer", - skipLifecycle: true, // Requires a docker api to interface and validate. - }, - { - extension: "headers_setter", - getConfigFn: func() component.Config { - cfg := extFactories["headers_setter"].CreateDefaultConfig().(*headerssetterextension.Config) - return cfg - }, - }, - { - extension: "jaegerremotesampling", - skipLifecycle: true, - getConfigFn: func() component.Config { - return extFactories["jaegerremotesampling"].CreateDefaultConfig().(*jaegerremotesampling.Config) - }, - }, - { - extension: "otlp_encoding", - }, - { - extension: "text_encoding", - }, - { - extension: "jaeger_encoding", - }, - { - extension: "json_log_encoding", - }, - { - extension: "zipkin_encoding", - }, - { - extension: "remotetap", - getConfigFn: func() component.Config { - return extFactories["remotetap"].CreateDefaultConfig().(*remotetapextension.Config) - }, - }, - { - extension: "opamp", - getConfigFn: func() component.Config { - cfg := extFactories["opamp"].CreateDefaultConfig().(*opampextension.Config) - cfg.Server.WS.Endpoint = "wss://" + endpoint - return cfg - }, - }, - { - extension: "solarwindsapmsettings", - skipLifecycle: true, // Requires Solarwinds APM endpoint and token - }, - { - extension: "ackextension", - getConfigFn: func() component.Config { - return extFactories["ackextension"].CreateDefaultConfig().(*ackextension.Config) - }, - }, - { - extension: "googleclientauthextension", - getConfigFn: func() component.Config { - return extFactories["googleclientauthextension"].CreateDefaultConfig().(*googleclientauthextension.Config) - }, - skipLifecycle: true, - }, - } - - extensionCount := 0 - expectedExtensions := map[component.Type]struct{}{} - for k := range extFactories { - expectedExtensions[k] = struct{}{} - } - for _, tt := range tests { - _, ok := extFactories[tt.extension] - if !ok { - // not part of the distro, skipping. - continue - } - delete(expectedExtensions, tt.extension) - extensionCount++ - t.Run(string(tt.extension), func(t *testing.T) { - factory := extFactories[tt.extension] - assert.Equal(t, tt.extension, factory.Type()) - - t.Run("shutdown", func(t *testing.T) { - verifyExtensionShutdown(t, factory, tt.getConfigFn) - }) - t.Run("lifecycle", func(t *testing.T) { - if tt.skipLifecycle { - t.SkipNow() - } - verifyExtensionLifecycle(t, factory, tt.getConfigFn) - }) - - }) - } - assert.Len(t, extFactories, extensionCount, "All extensions must be added to the lifecycle tests", expectedExtensions) -} - -// getExtensionConfigFn is used customize the configuration passed to the verification. -// This is used to change ports or provide values required but not provided by the -// default configuration. -type getExtensionConfigFn func() component.Config - -// verifyExtensionLifecycle is used to test if an extension type can handle the typical -// lifecycle of a component. The getConfigFn parameter only need to be specified if -// the test can't be done with the default configuration for the component. -func verifyExtensionLifecycle(t *testing.T, factory extension.Factory, getConfigFn getExtensionConfigFn) { - ctx := context.Background() - host := componenttest.NewNopHost() - extCreateSet := extensiontest.NewNopSettings() - extCreateSet.ReportStatus = func(event *component.StatusEvent) { - require.NoError(t, event.Err()) - } - - if getConfigFn == nil { - getConfigFn = factory.CreateDefaultConfig - } - - firstExt, err := factory.CreateExtension(ctx, extCreateSet, getConfigFn()) - require.NoError(t, err) - require.NoError(t, firstExt.Start(ctx, host)) - require.NoError(t, firstExt.Shutdown(ctx)) - - secondExt, err := factory.CreateExtension(ctx, extCreateSet, getConfigFn()) - require.NoError(t, err) - require.NoError(t, secondExt.Start(ctx, host)) - require.NoError(t, secondExt.Shutdown(ctx)) -} - -// verifyExtensionShutdown is used to test if an extension type can be shutdown without being started first. -func verifyExtensionShutdown(tb testing.TB, factory extension.Factory, getConfigFn getExtensionConfigFn) { - ctx := context.Background() - extCreateSet := extensiontest.NewNopSettings() - - if getConfigFn == nil { - getConfigFn = factory.CreateDefaultConfig - } - - e, err := factory.CreateExtension(ctx, extCreateSet, getConfigFn()) - if errors.Is(err, component.ErrDataTypeIsNotSupported) { - return - } - if e == nil { - return - } - - assert.NotPanics(tb, func() { - assert.NoError(tb, e.Shutdown(ctx)) - }) -} diff --git a/cmd/otelcontribcol/go.mod b/cmd/otelcontribcol/go.mod deleted file mode 100644 index eb273291f012..000000000000 --- a/cmd/otelcontribcol/go.mod +++ /dev/null @@ -1,1389 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -module github.com/open-telemetry/opentelemetry-collector-contrib/cmd/otelcontribcol - -go 1.22.3 - -toolchain go1.22.7 - -require ( - github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/s3provider v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/secretsmanagerprovider v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/otlpjsonconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/avrologencodingextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jaegerencodingextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jsonlogencodingextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/textencodingextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/cfgardenobserver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/intervalprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/logdedupprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/githubreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudspannerreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudlogsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefareceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefbreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver v0.108.0 - github.com/prometheus/prometheus v0.54.1 - github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.109.0 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.109.0 - go.opentelemetry.io/collector/config/configopaque v1.15.0 - go.opentelemetry.io/collector/confmap v1.15.0 - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector/forwardconnector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.109.0 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/nopexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.109.0 - go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.15.0 - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.109.0 - go.opentelemetry.io/collector/receiver/nopreceiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 - golang.org/x/sys v0.25.0 -) - -require ( - bitbucket.org/atlassian/go-asap/v2 v2.9.0 // indirect - cel.dev/expr v0.15.0 // indirect - cloud.google.com/go v0.115.1 // indirect - cloud.google.com/go/auth v0.9.1 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect - cloud.google.com/go/iam v1.1.13 // indirect - cloud.google.com/go/logging v1.11.0 // indirect - cloud.google.com/go/longrunning v0.5.12 // indirect - cloud.google.com/go/monitoring v1.20.4 // indirect - cloud.google.com/go/pubsub v1.42.0 // indirect - cloud.google.com/go/spanner v1.67.0 // indirect - cloud.google.com/go/trace v1.10.12 // indirect - code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c // indirect - code.cloudfoundry.org/go-diodes v0.0.0-20211115184647-b584dd5df32c // indirect - code.cloudfoundry.org/go-loggregator v7.4.0+incompatible // indirect - code.cloudfoundry.org/rfc5424 v0.0.0-20201103192249-000122071b78 // indirect - filippo.io/edwards25519 v1.1.0 // indirect - github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect - github.com/99designs/keyring v1.2.2 // indirect - github.com/AthenZ/athenz v1.10.39 // indirect - github.com/Azure/azure-amqp-common-go/v4 v4.2.0 // indirect - github.com/Azure/azure-event-hubs-go/v3 v3.6.2 // indirect - github.com/Azure/azure-kusto-go v0.16.1 // indirect - github.com/Azure/azure-pipeline-go v0.2.3 // indirect - github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor v0.11.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0 // indirect - github.com/Azure/azure-storage-queue-go v0.0.0-20230531184854-c06a8eff66fe // indirect - github.com/Azure/go-amqp v1.1.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.29 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.23 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect - github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect - github.com/ClickHouse/ch-go v0.61.5 // indirect - github.com/ClickHouse/clickhouse-go/v2 v2.28.2 // indirect - github.com/Code-Hex/go-generics-cache v1.5.1 // indirect - github.com/DataDog/agent-payload/v5 v5.0.131 // indirect - github.com/DataDog/datadog-agent/comp/core/config v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/log v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 // indirect - github.com/DataDog/datadog-agent/pkg/proto v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 // indirect - github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/version v0.56.2 // indirect - github.com/DataDog/datadog-api-client-go/v2 v2.29.0 // indirect - github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe // indirect - github.com/DataDog/go-sqllexer v0.0.13 // indirect - github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect - github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 // indirect - github.com/DataDog/sketches-go v1.4.6 // indirect - github.com/DataDog/viper v1.13.5 // indirect - github.com/DataDog/zstd v1.5.5 // indirect - github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 // indirect - github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect - github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect - github.com/IBM/sarama v1.43.3 // indirect - github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect - github.com/Khan/genqlient v0.7.0 // indirect - github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/ReneKroon/ttlcache/v2 v2.11.0 // indirect - github.com/SAP/go-hdb v1.12.0 // indirect - github.com/SermoDigital/jose v0.9.2-0.20180104203859-803625baeddc // indirect - github.com/Showmax/go-fqdn v1.0.0 // indirect - github.com/aerospike/aerospike-client-go/v7 v7.6.1 // indirect - github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 // indirect - github.com/aliyun/aliyun-log-go-sdk v0.1.82 // indirect - github.com/andybalholm/brotli v1.1.0 // indirect - github.com/apache/arrow/go/v15 v15.0.0 // indirect - github.com/apache/arrow/go/v16 v16.1.0 // indirect - github.com/apache/arrow/go/v17 v17.0.0 // indirect - github.com/apache/pulsar-client-go v0.13.1 // indirect - github.com/apache/thrift v0.20.0 // indirect - github.com/ardielle/ardielle-go v1.5.2 // indirect - github.com/armon/go-metrics v0.4.1 // indirect - github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.55.5 // indirect - github.com/aws/aws-sdk-go-v2 v1.30.4 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect - github.com/aws/aws-sdk-go-v2/config v1.27.31 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.30 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.5 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.6 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 // indirect - github.com/aws/smithy-go v1.20.4 // indirect - github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc // indirect - github.com/bahlo/generic-list-go v0.2.0 // indirect - github.com/benbjohnson/clock v1.3.5 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bits-and-blooms/bitset v1.4.0 // indirect - github.com/blang/semver/v4 v4.0.0 // indirect - github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect - github.com/briandowns/spinner v1.23.0 // indirect - github.com/buger/jsonparser v1.1.1 // indirect - github.com/cenkalti/backoff v2.2.1+incompatible // indirect - github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/checkpoint-restore/go-criu/v5 v5.3.0 // indirect - github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 // indirect - github.com/cilium/ebpf v0.11.0 // indirect - github.com/cloudfoundry-incubator/uaago v0.0.0-20190307164349-8136b7bbe76e // indirect - github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b // indirect - github.com/containerd/cgroups/v3 v3.0.3 // indirect - github.com/containerd/console v1.0.3 // indirect - github.com/containerd/ttrpc v1.2.4 // indirect - github.com/coreos/go-oidc/v3 v3.11.0 // indirect - github.com/coreos/go-systemd/v22 v22.5.0 // indirect - github.com/cyphar/filepath-securejoin v0.2.5 // indirect - github.com/danieljoos/wincred v1.1.2 // indirect - github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/dennwc/varint v1.0.0 // indirect - github.com/devigned/tab v0.1.1 // indirect - github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc // indirect - github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/digitalocean/godo v1.118.0 // indirect - github.com/distribution/reference v0.6.0 // indirect - github.com/docker/docker v27.2.0+incompatible // indirect - github.com/docker/go-connections v0.5.0 // indirect - github.com/docker/go-units v0.5.0 // indirect - github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.6.0 // indirect - github.com/eapache/go-resiliency v1.7.0 // indirect - github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect - github.com/eapache/queue v1.1.0 // indirect - github.com/elastic/elastic-transport-go/v8 v8.6.0 // indirect - github.com/elastic/go-docappender/v2 v2.3.0 // indirect - github.com/elastic/go-elasticsearch/v7 v7.17.10 // indirect - github.com/elastic/go-elasticsearch/v8 v8.14.0 // indirect - github.com/elastic/go-grok v0.3.1 // indirect - github.com/elastic/go-structform v0.0.12 // indirect - github.com/elastic/go-sysinfo v1.7.1 // indirect - github.com/elastic/go-windows v1.0.1 // indirect - github.com/elastic/lunes v0.1.0 // indirect - github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect - github.com/euank/go-kmsg-parser v2.0.0+incompatible // indirect - github.com/expr-lang/expr v1.16.9 // indirect - github.com/facebook/time v0.0.0-20240510113249-fa89cc575891 // indirect - github.com/fatih/color v1.16.0 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.2 // indirect - github.com/getsentry/sentry-go v0.28.1 // indirect - github.com/go-faster/city v1.0.1 // indirect - github.com/go-faster/errors v0.7.1 // indirect - github.com/go-jose/go-jose/v4 v4.0.2 // indirect - github.com/go-kit/kit v0.12.0 // indirect - github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-ole/go-ole v1.3.0 // indirect - github.com/go-openapi/jsonpointer v0.20.2 // indirect - github.com/go-openapi/jsonreference v0.20.4 // indirect - github.com/go-openapi/swag v0.22.9 // indirect - github.com/go-resty/resty/v2 v2.13.1 // indirect - github.com/go-sql-driver/mysql v1.8.1 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect - github.com/go-zookeeper/zk v1.0.3 // indirect - github.com/gobwas/glob v0.2.3 // indirect - github.com/goccy/go-json v0.10.3 // indirect - github.com/gocql/gocql v1.6.0 // indirect - github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/godbus/dbus/v5 v5.0.6 // indirect - github.com/gofrs/uuid v4.4.0+incompatible // indirect - github.com/gogo/googleapis v1.4.1 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.0 // indirect - github.com/golang-jwt/jwt/v5 v5.2.1 // indirect - github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect - github.com/golang-sql/sqlexp v0.1.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/mock v1.6.0 // indirect - github.com/golang/protobuf v1.5.4 // indirect - github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect - github.com/google/cadvisor v0.49.1-0.20240628164550-89f779d86055 // indirect - github.com/google/flatbuffers v24.3.25+incompatible // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/go-github/v64 v64.0.0 // indirect - github.com/google/go-querystring v1.1.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/s2a-go v0.1.8 // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.13.0 // indirect - github.com/gophercloud/gophercloud v1.13.0 // indirect - github.com/gorilla/mux v1.8.1 // indirect - github.com/gorilla/websocket v1.5.1 // indirect - github.com/gosnmp/gosnmp v1.38.0 // indirect - github.com/grafana/loki/pkg/push v0.0.0-20240514112848-a1b1eeb09583 // indirect - github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect - github.com/grobie/gomemcache v0.0.0-20230213081705-239240bbc445 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect - github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect - github.com/hamba/avro/v2 v2.25.1 // indirect - github.com/hashicorp/consul/api v1.29.4 // indirect - github.com/hashicorp/cronexpr v1.1.2 // indirect - github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-hclog v1.6.3 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-retryablehttp v0.7.7 // indirect - github.com/hashicorp/go-rootcerts v1.0.2 // indirect - github.com/hashicorp/go-uuid v1.0.3 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/hashicorp/golang-lru v1.0.2 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3 // indirect - github.com/hashicorp/serf v0.10.1 // indirect - github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95 // indirect - github.com/hetznercloud/hcloud-go/v2 v2.10.2 // indirect - github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.113 // indirect - github.com/iancoleman/strcase v0.3.0 // indirect - github.com/imdario/mergo v0.3.16 // indirect - github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/influxdata/influxdb-observability/common v0.5.12 // indirect - github.com/influxdata/influxdb-observability/influx2otel v0.5.12 // indirect - github.com/influxdata/influxdb-observability/otel2influx v0.5.12 // indirect - github.com/influxdata/line-protocol/v2 v2.2.1 // indirect - github.com/ionos-cloud/sdk-go/v6 v6.1.11 // indirect - github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect - github.com/jackc/pgx/v5 v5.6.0 // indirect - github.com/jackc/puddle/v2 v2.2.1 // indirect - github.com/jaegertracing/jaeger v1.60.0 // indirect - github.com/jcmturner/aescts/v2 v2.0.0 // indirect - github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect - github.com/jcmturner/gofork v1.7.6 // indirect - github.com/jcmturner/goidentity/v6 v6.0.1 // indirect - github.com/jcmturner/gokrb5/v8 v8.4.4 // indirect - github.com/jcmturner/rpc/v2 v2.0.3 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect - github.com/jonboulle/clockwork v0.4.0 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/jpillora/backoff v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/julienschmidt/httprouter v1.3.0 // indirect - github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect - github.com/karrick/godirwalk v1.17.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/klauspost/cpuid/v2 v2.2.8 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b // indirect - github.com/kr/fs v0.1.0 // indirect - github.com/kylelemons/godebug v1.1.0 // indirect - github.com/leodido/go-syslog/v4 v4.1.0 // indirect - github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b // indirect - github.com/lestrrat-go/strftime v1.1.0 // indirect - github.com/lib/pq v1.10.9 // indirect - github.com/lightstep/go-expohisto v1.0.0 // indirect - github.com/linkedin/goavro/v2 v2.13.0 // indirect - github.com/linode/linodego v1.37.0 // indirect - github.com/logicmonitor/lm-data-sdk-go v1.3.2 // indirect - github.com/lufia/plan9stats v0.0.0-20240408141607-282e7b5d6b74 // indirect - github.com/magefile/mage v1.15.0 // indirect - github.com/magiconair/properties v1.8.7 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-ieproxy v0.0.11 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-sqlite3 v1.14.22 // indirect - github.com/microsoft/ApplicationInsights-Go v0.4.4 // indirect - github.com/microsoft/go-mssqldb v1.7.2 // indirect - github.com/miekg/dns v1.1.61 // indirect - github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-ps v1.0.0 // indirect - github.com/mitchellh/hashstructure v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/moby/docker-image-spec v1.3.1 // indirect - github.com/moby/sys/mountinfo v0.7.1 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect - github.com/mongodb-forks/digest v1.1.0 // indirect - github.com/montanaflynn/stats v0.7.1 // indirect - github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/mrunalp/fileutils v0.5.1 // indirect - github.com/mtibben/percent v0.2.1 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect - github.com/nginxinc/nginx-prometheus-exporter v0.11.0 // indirect - github.com/oklog/ulid/v2 v2.1.0 // indirect - github.com/open-telemetry/opamp-go v0.15.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/containerinsight v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/k8s v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/metrics v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/proxy v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/collectd v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/grpcutil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/huawei v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/rabbitmq v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sqlquery v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/skywalking v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/winperfcounters v0.108.0 // indirect - github.com/open-telemetry/otel-arrow v0.26.0 // indirect - github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0 // indirect - github.com/opencontainers/runc v1.1.14 // indirect - github.com/opencontainers/runtime-spec v1.2.0 // indirect - github.com/opencontainers/selinux v1.10.0 // indirect - github.com/opensearch-project/opensearch-go/v2 v2.3.0 // indirect - github.com/openshift/api v3.9.0+incompatible // indirect - github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 // indirect - github.com/openzipkin/zipkin-go v0.4.3 // indirect - github.com/oschwald/geoip2-golang v1.11.0 // indirect - github.com/oschwald/maxminddb-golang v1.13.0 // indirect - github.com/outcaste-io/ristretto v0.2.1 // indirect - github.com/ovh/go-ovh v1.6.0 // indirect - github.com/patrickmn/go-cache v2.1.0+incompatible // indirect - github.com/paulmach/orb v0.11.1 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.2.2 // indirect - github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect - github.com/pierrec/lz4 v2.6.1+incompatible // indirect - github.com/pierrec/lz4/v4 v4.1.21 // indirect - github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pkg/sftp v1.13.6 // 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/pquerna/cachecontrol v0.1.0 // indirect - github.com/prometheus-community/windows_exporter v0.27.2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/common/sigv4 v0.1.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - github.com/rabbitmq/amqp091-go v1.10.0 // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/redis/go-redis/v9 v9.6.1 // indirect - github.com/relvacode/iso8601 v1.4.0 // indirect - github.com/rs/cors v1.11.1 // indirect - github.com/sagikazarmark/locafero v0.4.0 // indirect - github.com/sagikazarmark/slog-shim v0.1.0 // indirect - github.com/samber/lo v1.38.1 // indirect - github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 // indirect - github.com/scalyr/dataset-go v0.20.0 // indirect - github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 // indirect - github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect - github.com/segmentio/asm v1.2.0 // indirect - github.com/shirou/gopsutil/v3 v3.24.5 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect - github.com/shopspring/decimal v1.4.0 // indirect - github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 // indirect - github.com/signalfx/sapm-proto v0.14.0 // indirect - github.com/sijms/go-ora/v2 v2.8.19 // indirect - github.com/sirupsen/logrus v1.9.3 // indirect - github.com/snowflakedb/gosnowflake v1.11.1 // indirect - github.com/soheilhy/cmux v0.1.5 // indirect - github.com/solarwindscloud/apm-proto v1.0.7 // indirect - github.com/sourcegraph/conc v0.3.0 // indirect - github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/afero v1.11.0 // indirect - github.com/spf13/cast v1.7.0 // indirect - github.com/spf13/cobra v1.8.1 // indirect - github.com/spf13/jwalterweatherman v1.0.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.19.0 // indirect - github.com/stormcat24/protodep v0.1.8 // indirect - github.com/stretchr/objx v0.5.2 // indirect - github.com/subosito/gotenv v1.6.0 // indirect - github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.995 // indirect - github.com/tg123/go-htpasswd v1.2.2 // indirect - github.com/tidwall/gjson v1.17.3 // indirect - github.com/tidwall/match v1.1.1 // indirect - github.com/tidwall/pretty v1.2.0 // indirect - github.com/tidwall/tinylru v1.1.0 // indirect - github.com/tidwall/wal v1.1.7 // indirect - github.com/tinylib/msgp v1.2.0 // indirect - github.com/tjfoc/gmsm v1.4.1 // indirect - github.com/tklauser/go-sysconf v0.3.14 // indirect - github.com/tklauser/numcpus v0.8.0 // indirect - github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect - github.com/valyala/fastjson v1.6.4 // indirect - github.com/vektah/gqlparser/v2 v2.5.16 // indirect - github.com/vincent-petithory/dataurl v1.0.0 // indirect - github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852 // indirect - github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae // indirect - github.com/vmware/go-vmware-nsxt v0.0.0-20230223012718-d31b8a1ca05e // indirect - github.com/vmware/govmomi v0.42.0 // indirect - github.com/vultr/govultr/v2 v2.17.2 // indirect - github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect - github.com/x448/float16 v0.8.4 // indirect - github.com/xdg-go/pbkdf2 v1.0.0 // indirect - github.com/xdg-go/scram v1.1.2 // indirect - github.com/xdg-go/stringprep v1.0.4 // indirect - github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect - github.com/yuin/gopher-lua v1.1.1 // indirect - github.com/yusufpapurcu/wmi v1.2.4 // indirect - github.com/zeebo/xxh3 v1.0.2 // indirect - go.elastic.co/apm/module/apmzap/v2 v2.6.0 // indirect - go.elastic.co/apm/v2 v2.6.0 // indirect - go.elastic.co/fastjson v1.3.0 // indirect - go.etcd.io/bbolt v1.3.11 // indirect - go.mongodb.org/atlas v0.37.0 // indirect - go.mongodb.org/mongo-driver v1.16.1 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.109.0 // indirect - go.opentelemetry.io/collector/client v1.15.0 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.109.0 // indirect - go.opentelemetry.io/collector/config/configauth v0.109.0 // indirect - go.opentelemetry.io/collector/config/configcompression v1.15.0 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.15.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.109.0 // indirect - go.opentelemetry.io/collector/config/configtls v1.15.0 // indirect - go.opentelemetry.io/collector/config/internal v0.109.0 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.109.0 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.109.0 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.109.0 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909212104-b18f7cd99909 // indirect - go.opentelemetry.io/collector/featuregate v1.15.0 // indirect - go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.109.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.109.0 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.109.0 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/contrib/zpages v0.54.0 // indirect - go.opentelemetry.io/otel v1.30.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/metric v1.30.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.30.0 // indirect - go.opentelemetry.io/proto/otlp v1.3.1 // indirect - go.uber.org/atomic v1.11.0 // indirect - go.uber.org/dig v1.17.1 // indirect - go.uber.org/fx v1.18.2 // indirect - go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.27.0 // indirect - golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect - golang.org/x/mod v0.20.0 // indirect - golang.org/x/net v0.29.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/term v0.24.0 // indirect - golang.org/x/text v0.18.0 // indirect - golang.org/x/time v0.6.0 // indirect - golang.org/x/tools v0.24.0 // indirect - golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 // indirect - gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/api v0.195.0 // indirect - google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/grpc v1.66.1 // indirect - google.golang.org/protobuf v1.34.2 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - gopkg.in/zorkian/go-datadog-api.v2 v2.30.0 // indirect - howett.net/plist v1.0.0 // indirect - k8s.io/api v0.31.0 // indirect - k8s.io/apimachinery v0.31.0 // indirect - k8s.io/client-go v0.31.0 // indirect - k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect - k8s.io/kubelet v0.31.0 // indirect - k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect - sigs.k8s.io/controller-runtime v0.19.0 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect - skywalking.apache.org/repo/goapi v0.0.0-20240104145220-ba7202308dd4 // indirect -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage => ../../extension/storage - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage => ../../extension/storage/dbstorage - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage => ../../extension/storage/filestorage - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal => ../../pkg/batchpersignal - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs => ../../internal/aws/cwlogs - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics => ../../internal/exp/metrics - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow => ../../internal/otelarrow - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver => ../../receiver/awsxrayreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver => ../../receiver/azureblobreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver => ../../receiver/k8sobjectsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver => ../../receiver/haproxyreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver => ../../receiver/httpcheckreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudcesreceiver => ../../receiver/huaweicloudcesreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/huaweicloudlogsreceiver => ../../receiver/huaweicloudlogsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver => ../../extension/observer/dockerobserver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver => ../../extension/observer/k8sobserver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentryexporter => ../../exporter/sentryexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nsxtreceiver => ../../receiver/nsxtreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver => ../../receiver/kubeletstatsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver => ../../receiver/dockerstatsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudpubsubexporter => ../../exporter/googlecloudpubsubexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter => ../../exporter/awsxrayexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver => ../../receiver/postgresqlreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator => ../../receiver/receivercreator - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor => ../../processor/k8sattributesprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/logdedupprocessor => ../../processor/logdedupprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter => ../../exporter/awsemfexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver => ../../receiver/opencensusreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver => ../../receiver/splunkhecreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver => ../../receiver/collectdreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor => ../../processor/spanprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy => ../../extension/awsproxy - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin => ../../pkg/translator/zipkin - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor => ../../processor/geoipprocessor/ - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor => ../../processor/groupbyattrsprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter => ../../exporter/mezmoexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter => ../../exporter/clickhouseexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassandraexporter => ../../exporter/cassandraexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver => ../../receiver/udplogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk => ../../internal/splunk - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver => ../../receiver/podmanreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/flinkmetricsreceiver => ../../receiver/flinkmetricsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver => ../../receiver/awsecscontainermetricsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/oidcauthextension => ../../extension/oidcauthextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter => ../../exporter/awskinesisexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl => ../../pkg/ottl - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver => ../../receiver/nginxreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/couchdbreceiver => ../../receiver/couchdbreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor => ../../processor/resourcedetectionprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension => ../../extension/healthcheckextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension => ../../extension/healthcheckv2extension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension => ../../extension/headerssetterextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlemanagedprometheusexporter => ../../exporter/googlemanagedprometheusexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/aerospikereceiver => ../../receiver/aerospikereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/cumulativetodeltaprocessor => ../../processor/cumulativetodeltaprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/intervalprocessor => ../../processor/intervalprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver => ../../receiver/sapmreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver => ../../receiver/zipkinreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver => ../../receiver/jaegerreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray => ../../internal/aws/xray - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/k8s => ../../internal/aws/k8s - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver => ../../receiver/mysqlreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension => ../../extension/asapauthextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr => ../../pkg/batchperresourceattr - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver => ../../receiver/vcenterreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver => ../../receiver/statsdreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter => ../../exporter/prometheusremotewriteexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbytraceprocessor => ../../processor/groupbytraceprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter => ../../exporter/tencentcloudlogserviceexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter => ../../exporter/loadbalancingexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter => ../../exporter/logicmonitorexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver => ../../receiver/azureeventhubreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver => ../../receiver/azuremonitorreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver => ../../receiver/jmxreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver => ../../receiver/awsfirehosereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension => ../../extension/oauth2clientauthextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter => ../../exporter/kafkaexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer => ../../extension/observer - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter => ../../exporter/coralogixexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver => ../../receiver/tcplogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension => ../../extension/pprofextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki => ../../pkg/translator/loki - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/metrics => ../../internal/aws/metrics - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver => ../../receiver/journaldreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter => ../../exporter/logzioexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver => ../../receiver/k8seventsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver => ../../receiver/k8sclusterreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor => ../../processor/transformprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor => ../../processor/filterprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver => ../../extension/observer/hostobserver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver => ../../receiver/kafkareceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension => ../../extension/bearertokenauthextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata => ../../pkg/experimentalmetricmetadata - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza => ../../pkg/stanza - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver => ../../receiver/fluentforwardreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver => ../../receiver/redisreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension => ../../extension/basicauthextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter => ../../exporter/influxdbexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alertmanagerexporter => ../../exporter/alertmanagerexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter => ../../exporter/alibabacloudlogserviceexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger => ../../pkg/translator/jaeger - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker => ../../internal/docker - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil => ../../internal/aws/ecsutil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver => ../../receiver/rabbitmqreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver => ../../receiver/elasticsearchreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor => ../../processor/metricsgenerationprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor => ../../processor/attributesprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlqueryreceiver => ../../receiver/sqlqueryreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefareceiver => ../../receiver/purefareceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/purefbreceiver => ../../receiver/purefbreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver => ../../receiver/memcachedreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter => ../../exporter/azuremonitorexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuredataexplorerexporter => ../../exporter/azuredataexplorerexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig => ../../internal/k8sconfig - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest => ../../internal/k8stest - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka => ../../internal/kafka - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/rabbitmq => ../../internal/rabbitmq - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver => ../../receiver/carbonreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter => ../../exporter/splunkhecexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter => ../../exporter/prometheusexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver => ../../receiver/influxdbreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver => ../../receiver/awscontainerinsightreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor => ../../processor/metricstransformprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension => ../../extension/sigv4authextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus => ../../pkg/translator/opencensus - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter => ../../exporter/pulsarexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter => ../../exporter/zipkinexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver => ../../receiver/hostmetricsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx => ../../pkg/translator/signalfx - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver => ../../receiver/signalfxreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver => ../../receiver/windowsperfcountersreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver => ../../receiver/simpleprometheusreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver => ../../receiver/kafkametricsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver => ../../receiver/cloudfoundryreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter => ../../internal/filter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/activedirectorydsreceiver => ../../receiver/activedirectorydsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor => ../../processor/routingprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatorateprocessor => ../../processor/deltatorateprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor => ../../processor/deltatocumulativeprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter => ../../exporter/datadogexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datasetexporter => ../../exporter/datasetexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/containerinsight => ../../internal/aws/containerinsight - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil => ../../internal/aws/awsutil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver => ../../receiver/zookeeperreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver => ../../receiver/wavefrontreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver => ../../receiver/mongodbreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite => ../../pkg/translator/prometheusremotewrite - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver => ../../receiver/filelogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter => ../../exporter/signalfxexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver => ../../receiver/solacereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/iisreceiver => ../../receiver/iisreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/bigipreceiver => ../../receiver/bigipreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor => ../../processor/probabilisticsamplerprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter => ../../exporter/fileexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry => ../../pkg/resourcetotelemetry - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ../../exporter/opencensusexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter => ../../exporter/opensearchexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders => ../../internal/metadataproviders - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/proxy => ../../internal/aws/proxy - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver => ../../receiver/snmpreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver => ../../receiver/mongodbatlasreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver => ../../receiver/awscloudwatchreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter => ../../exporter/lokiexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent => ../../internal/sharedcomponent - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/expvarreceiver => ../../receiver/expvarreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver => ../../receiver/apachereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachesparkreceiver => ../../receiver/apachesparkreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarderextension => ../../extension/httpforwarderextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter => ../../exporter/elasticsearchexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter => ../../exporter/awscloudwatchlogsexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudspannerreceiver => ../../receiver/googlecloudspannerreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver => ../../receiver/prometheusreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter => ../../exporter/sapmexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet => ../../internal/kubelet - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver => ../../receiver/sqlserverreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver => ../../receiver/skywalkingreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snowflakereceiver => ../../receiver/snowflakereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver => ../../receiver/riakreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor => ../../processor/tailsamplingprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver => ../../receiver/syslogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor => ../../processor/resourceprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter => ../../exporter/carbonexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/winperfcounters => ../../pkg/winperfcounters - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/googlecloudexporter => ../../exporter/googlecloudexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus => ../../pkg/translator/prometheus - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/googlecloudpubsubreceiver => ../../receiver/googlecloudpubsubreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter => ../../exporter/sumologicexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter => ../../exporter/instanaexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombmarkerexporter => ../../exporter/honeycombmarkerexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver => ../../receiver/otlpjsonfilereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/redactionprocessor => ../../processor/redactionprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling => ../../extension/jaegerremotesampling - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver => ../../receiver/sshcheckreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver => ../../receiver/datadogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver => ../../receiver/chronyreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver => ../../extension/observer/ecstaskobserver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver => ../../receiver/lokireceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver => ../../receiver/filestatsreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awss3exporter => ../../exporter/awss3exporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/pulsarreceiver => ../../receiver/pulsarreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver => ../../receiver/oracledbreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudflarereceiver => ../../receiver/cloudflarereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver => ../../receiver/windowseventlogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver => ../../receiver/webhookeventreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecsobserver => ../../extension/observer/ecsobserver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/remotetapprocessor => ../../processor/remotetapprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/sumologicprocessor => ../../processor/sumologicprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter => ../../exporter/syslogexporter - -replace github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1 - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector => ../../connector/countconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector => ../../connector/datadogconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/exceptionsconnector => ../../connector/exceptionsconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector => ../../connector/failoverconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/grafanacloudconnector => ../../connector/grafanacloudconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/otlpjsonconnector => ../../connector/otlpjsonconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/roundrobinconnector => ../../connector/roundrobinconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector => ../../connector/routingconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector => ../../connector/servicegraphconnector - -replace github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector => ../../connector/spanmetricsconnector - -replace github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 - -replace github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure => ../../pkg/translator/azure - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/skywalking => ../../pkg/translator/skywalking - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/collectd => ../../internal/collectd - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding => ../../extension/encoding - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension => ../../extension/encoding/otlpencodingextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/zipkinencodingextension => ../../extension/encoding/zipkinencodingextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/avrologencodingextension => ../../extension/encoding/avrologencodingextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jsonlogencodingextension => ../../extension/encoding/jsonlogencodingextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/textencodingextension => ../../extension/encoding/textencodingextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/jaegerencodingextension => ../../extension/encoding/jaegerencodingextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/remotetapextension => ../../extension/remotetapextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension => ../../extension/opampextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension => ../../extension/solarwindsapmsettingsextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension => ../../extension/sumologicextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver => ../../receiver/namedpipereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/sqlquery => ../../internal/sqlquery - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension => ../../extension/ackextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension => ../../extension/googleclientauthextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver => ../../receiver/splunkenterprisereceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages => ../../extension/opampcustommessages - -replace github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/s3provider => ../../confmap/provider/s3provider - -replace github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/secretsmanagerprovider => ../../confmap/provider/secretsmanagerprovider - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling => ../../pkg/sampling - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil => ../../internal/pdatautil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter => ../../exporter/otelarrowexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver => ../../receiver/otelarrowreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/cfgardenobserver => ../../extension/observer/cfgardenobserver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbitmqexporter => ../../exporter/rabbitmqexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/githubreceiver => ../../receiver/githubreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/grpcutil => ../../internal/grpcutil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/huawei => ../../internal/huawei diff --git a/cmd/otelcontribcol/go.sum b/cmd/otelcontribcol/go.sum deleted file mode 100644 index 0d482f22e56f..000000000000 --- a/cmd/otelcontribcol/go.sum +++ /dev/null @@ -1,3413 +0,0 @@ -bitbucket.org/atlassian/go-asap/v2 v2.9.0 h1:ANKtdq/Q8w8RqTaJKIJitS+INbsOKeVv38iArFHWx0Q= -bitbucket.org/atlassian/go-asap/v2 v2.9.0/go.mod h1:cuRgWb7eeGtsocKmqY2kPlMMlwpkeNh+QOIkjAMlUBc= -cel.dev/expr v0.15.0 h1:O1jzfJCQBfL5BFoYktaxwIhuttaQPsVWerH9/EEKx0w= -cel.dev/expr v0.15.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg= -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= -cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= -cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= -cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= -cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= -cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= -cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= -cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= -cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= -cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= -cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= -cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= -cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= -cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= -cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= -cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= -cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= -cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= -cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= -cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= -cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= -cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= -cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= -cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= -cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= -cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= -cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= -cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= -cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= -cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= -cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= -cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= -cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= -cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= -cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= -cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= -cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= -cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= -cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= -cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= -cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= -cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= -cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= -cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= -cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= -cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= -cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= -cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= -cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= -cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= -cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= -cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= -cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= -cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= -cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= -cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= -cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= -cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= -cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= -cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= -cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= -cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= -cloud.google.com/go/auth v0.9.1 h1:+pMtLEV2k0AXKvs/tGZojuj6QaioxfUjOpMsG5Gtx+w= -cloud.google.com/go/auth v0.9.1/go.mod h1:Sw8ocT5mhhXxFklyhT12Eiy0ed6tTrPMCJjSI8KhYLk= -cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY= -cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= -cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= -cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= -cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= -cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= -cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= -cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= -cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= -cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= -cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= -cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= -cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= -cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= -cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= -cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= -cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= -cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= -cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= -cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= -cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= -cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= -cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= -cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= -cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= -cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= -cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= -cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= -cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= -cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= -cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= -cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= -cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= -cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= -cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= -cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= -cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= -cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= -cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= -cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= -cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= -cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= -cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= -cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= -cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= -cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= -cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= -cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= -cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= -cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= -cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= -cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= -cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= -cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= -cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= -cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= -cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= -cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= -cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= -cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= -cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= -cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= -cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= -cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= -cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= -cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= -cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= -cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= -cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= -cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= -cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= -cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= -cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= -cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= -cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= -cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= -cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= -cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= -cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= -cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= -cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= -cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= -cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= -cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= -cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= -cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= -cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= -cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= -cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= -cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= -cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= -cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= -cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= -cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= -cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= -cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= -cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= -cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= -cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= -cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= -cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= -cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= -cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= -cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= -cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= -cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= -cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= -cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= -cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= -cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= -cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= -cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= -cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= -cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= -cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= -cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= -cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= -cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= -cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= -cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= -cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= -cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= -cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= -cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= -cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= -cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= -cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= -cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= -cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= -cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= -cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= -cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= -cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= -cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= -cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= -cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= -cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= -cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= -cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= -cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= -cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= -cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= -cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= -cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= -cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= -cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= -cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= -cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= -cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= -cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= -cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= -cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= -cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= -cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= -cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= -cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= -cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= -cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= -cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= -cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= -cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= -cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= -cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= -cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= -cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= -cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= -cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= -cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= -cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= -cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= -cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= -cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= -cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= -cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= -cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= -cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= -cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= -cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= -cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= -cloud.google.com/go/iam v1.1.13 h1:7zWBXG9ERbMLrzQBRhFliAV+kjcRToDTgQT3CTwYyv4= -cloud.google.com/go/iam v1.1.13/go.mod h1:K8mY0uSXwEXS30KrnVb+j54LB/ntfZu1dr+4zFMNbus= -cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= -cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= -cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= -cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= -cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= -cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= -cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= -cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= -cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= -cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= -cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= -cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= -cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= -cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= -cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= -cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= -cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= -cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= -cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= -cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= -cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= -cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= -cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= -cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= -cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= -cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= -cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= -cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= -cloud.google.com/go/logging v1.11.0 h1:v3ktVzXMV7CwHq1MBF65wcqLMA7i+z3YxbUsoK7mOKs= -cloud.google.com/go/logging v1.11.0/go.mod h1:5LDiJC/RxTt+fHc1LAt20R9TKiUTReDg6RuuFOZ67+A= -cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= -cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= -cloud.google.com/go/longrunning v0.5.12 h1:5LqSIdERr71CqfUsFlJdBpOkBH8FBCFD7P1nTWy3TYE= -cloud.google.com/go/longrunning v0.5.12/go.mod h1:S5hMV8CDJ6r50t2ubVJSKQVv5u0rmik5//KgLO3k4lU= -cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= -cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= -cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= -cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= -cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= -cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= -cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= -cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= -cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= -cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= -cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= -cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= -cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= -cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= -cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= -cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= -cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= -cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= -cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= -cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= -cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= -cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= -cloud.google.com/go/monitoring v1.20.4 h1:zwcViK7mT9SV0kzKqLOI3spRadvsmvw/R9z1MHNeC0E= -cloud.google.com/go/monitoring v1.20.4/go.mod h1:v7F/UcLRw15EX7xq565N7Ae5tnYEE28+Cl717aTXG4c= -cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= -cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= -cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= -cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= -cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= -cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= -cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= -cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= -cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= -cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= -cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= -cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= -cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= -cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= -cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= -cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= -cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= -cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= -cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= -cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= -cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= -cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= -cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= -cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= -cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= -cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= -cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= -cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= -cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= -cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= -cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= -cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= -cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= -cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= -cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= -cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= -cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= -cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= -cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= -cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= -cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= -cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= -cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= -cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= -cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= -cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= -cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= -cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= -cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= -cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= -cloud.google.com/go/pubsub v1.42.0 h1:PVTbzorLryFL5ue8esTS2BfehUs0ahyNOY9qcd+HMOs= -cloud.google.com/go/pubsub v1.42.0/go.mod h1:KADJ6s4MbTwhXmse/50SebEhE4SmUwHi48z3/dHar1Y= -cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= -cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= -cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= -cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= -cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= -cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= -cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= -cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= -cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= -cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= -cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= -cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= -cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= -cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= -cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= -cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= -cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= -cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= -cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= -cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= -cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= -cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= -cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= -cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= -cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= -cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= -cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= -cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= -cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= -cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= -cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= -cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= -cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= -cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= -cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= -cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= -cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= -cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= -cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= -cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= -cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= -cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= -cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= -cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= -cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= -cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= -cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= -cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= -cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= -cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= -cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= -cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= -cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= -cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= -cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= -cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= -cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= -cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= -cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= -cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= -cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= -cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= -cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= -cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= -cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= -cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= -cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= -cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= -cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= -cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= -cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= -cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= -cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= -cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= -cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= -cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= -cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= -cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= -cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= -cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= -cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= -cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= -cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= -cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= -cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= -cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= -cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= -cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= -cloud.google.com/go/spanner v1.67.0 h1:h8xfobxh5lQu4qJVMPH+wSiyU+ZM6ZTxRNqGeu9iIVA= -cloud.google.com/go/spanner v1.67.0/go.mod h1:Um+TNmxfcCHqNCKid4rmAMvoe/Iu1vdz6UfxJ9GPxRQ= -cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= -cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= -cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= -cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= -cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= -cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= -cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= -cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= -cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= -cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= -cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= -cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= -cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= -cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= -cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= -cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= -cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= -cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= -cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= -cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= -cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= -cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= -cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= -cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= -cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= -cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= -cloud.google.com/go/trace v1.10.12 h1:GoGZv1iAXEa73HgSGNjRl2vKqp5/f2AeKqErRFXA2kg= -cloud.google.com/go/trace v1.10.12/go.mod h1:tYkAIta/gxgbBZ/PIzFxSH5blajgX4D00RpQqCG/GZs= -cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= -cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= -cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= -cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= -cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= -cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= -cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= -cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= -cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= -cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= -cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= -cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= -cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= -cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= -cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= -cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= -cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= -cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= -cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= -cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= -cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= -cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= -cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= -cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= -cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= -cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= -cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= -cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= -cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= -cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= -cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= -cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= -cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= -cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= -cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= -cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= -cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= -cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= -cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= -cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= -cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= -cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= -cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= -cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= -code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c h1:5eeuG0BHx1+DHeT3AP+ISKZ2ht1UjGhm581ljqYpVeQ= -code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= -code.cloudfoundry.org/go-diodes v0.0.0-20211115184647-b584dd5df32c h1:N2GMlHc/SJQk7BkaME/kDHaciVTy4NuRmxVJLhnqKK8= -code.cloudfoundry.org/go-diodes v0.0.0-20211115184647-b584dd5df32c/go.mod h1:o7lq/SmHshDVxHdRJ/fMT3VPcoXyE1HcRXbG8QibO3k= -code.cloudfoundry.org/go-loggregator v7.4.0+incompatible h1:KqZYloMQWM5Zg/BQKunOIA4OODh7djZbk48qqbowNFI= -code.cloudfoundry.org/go-loggregator v7.4.0+incompatible/go.mod h1:KPBTRqj+y738Nhf1+g4JHFaBU8j7dedirR5ETNHvMXU= -code.cloudfoundry.org/rfc5424 v0.0.0-20201103192249-000122071b78 h1:mrZQaZmuDIPhSp6b96b+CRKC2uH44ifa5cjDV2epKis= -code.cloudfoundry.org/rfc5424 v0.0.0-20201103192249-000122071b78/go.mod h1:tkZo8GtzBjySJ7USvxm4E36lNQw1D3xM6oKHGqdaAJ4= -dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= -filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= -gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= -git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0= -github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= -github.com/AthenZ/athenz v1.10.39 h1:mtwHTF/v62ewY2Z5KWhuZgVXftBej1/Tn80zx4DcawY= -github.com/AthenZ/athenz v1.10.39/go.mod h1:3Tg8HLsiQZp81BJY58JBeU2BR6B/H4/0MQGfCwhHNEA= -github.com/Azure/azure-amqp-common-go/v4 v4.2.0 h1:q/jLx1KJ8xeI8XGfkOWMN9XrXzAfVTkyvCxPvHCjd2I= -github.com/Azure/azure-amqp-common-go/v4 v4.2.0/go.mod h1:GD3m/WPPma+621UaU6KNjKEo5Hl09z86viKwQjTpV0Q= -github.com/Azure/azure-event-hubs-go/v3 v3.6.2 h1:7rNj1/iqS/i3mUKokA2n2eMYO72TB7lO7OmpbKoakKY= -github.com/Azure/azure-event-hubs-go/v3 v3.6.2/go.mod h1:n+ocYr9j2JCLYqUqz9eI+lx/TEAtL/g6rZzyTFSuIpc= -github.com/Azure/azure-kusto-go v0.16.1 h1:vCBWcQghmC1qIErUUgVNWHxGhZVStu1U/hki6iBA14k= -github.com/Azure/azure-kusto-go v0.16.1/go.mod h1:9F2zvXH8B6eWzgI1S4k1ZXAIufnBZ1bv1cW1kB1n3D0= -github.com/Azure/azure-pipeline-go v0.1.8/go.mod h1:XA1kFWRVhSK+KNFiOhfv83Fv8L9achrP7OxIzeTn1Yg= -github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= -github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 h1:LkHbJbgF3YyvC53aqYGR+wWQDn2Rdp9AQdGndf9QvY4= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0/go.mod h1:QyiQdW4f4/BIfB8ZutZ2s+28RAgfa/pT+zS++ZHyM1I= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0 h1:PTFGRSlMKCQelWwxUyYVEUqseBJVemLyqWJjvMyt0do= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0/go.mod h1:LRr2FzBTQlONPPa5HREE5+RjSCTXl7BwOvYOaWTqCaI= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups v1.0.0 h1:pPvTJ1dY0sA35JOeFq6TsY2xj6Z85Yo23Pj4wCCvu4o= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups v1.0.0/go.mod h1:mLfWfj8v3jfWKsL9G4eoBoXVcsqcIUTapmdKy7uGOp0= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor v0.11.0 h1:Ds0KRF8ggpEGg4Vo42oX1cIt/IfOhHWJBikksZbVxeg= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor v0.11.0/go.mod h1:jj6P8ybImR+5topJ+eH6fgcemSFBmU6/6bFF8KkwuDI= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0/go.mod h1:Y/HgrePTmGy9HjdSGTqZNa+apUpTVIEVKXJyARP2lrk= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 h1:Dd+RhdJn0OTtVGaeDLZpcumkIVCtA/3/Fo42+eoYvVM= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0/go.mod h1:5kakwfW5CjC9KK+Q4wjXAg+ShuIm2mBMua0ZFj2C8PE= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0 h1:PiSrjRPpkQNjrM8H0WwKMnZUdu1RGMtd/LdGKUrOo+c= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.6.0/go.mod h1:oDrbWx4ewMylP7xHivfgixbfGBT6APAwsSoHRKotnIc= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.1 h1:MyVTgWR8qd/Jw1Le0NZebGBUCLbtak3bJ3z1OlqZBpw= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.1/go.mod h1:GpPjLhVR9dnUoJMyHWSPy71xY9/lcmpzIPZXmF0FCVY= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.0.0 h1:D3occbWoio4EBLkbkevetNMAVX197GkzbUMtqjGWn80= -github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.0.0/go.mod h1:bTSOgj05NGRuHHhQwAdPnYr9TOdNmKlZTgGLL6nyAdI= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0 h1:Be6KInmFEKV81c0pOAEbRYehLMwmmGI1exuFj248AMk= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.4.0/go.mod h1:WCPBHsOXfBVnivScjs2ypRfimjEW0qPVLGgJkZlrIOA= -github.com/Azure/azure-storage-queue-go v0.0.0-20230531184854-c06a8eff66fe h1:HGuouUM1533rBXmMtR7qh5pYNSSjUZG90b/MgJAnb/A= -github.com/Azure/azure-storage-queue-go v0.0.0-20230531184854-c06a8eff66fe/go.mod h1:K6am8mT+5iFXgingS9LUc7TmbsW6XBw3nxaRyaMyWc8= -github.com/Azure/go-amqp v1.1.0 h1:XUhx5f4lZFVf6LQc5kBUFECW0iJW9VLxKCYrBeGwl0U= -github.com/Azure/go-amqp v1.1.0/go.mod h1:vZAogwdrkbyK3Mla8m/CxSc/aKdnTZ4IbPxl51Y5WZE= -github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= -github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= -github.com/Azure/go-autorest/autorest v0.11.29 h1:I4+HL/JDvErx2LjyzaVxllw2lRDB5/BT2Bm4g20iqYw= -github.com/Azure/go-autorest/autorest v0.11.29/go.mod h1:ZtEzC4Jy2JDrZLxvWs8LrBWEBycl1hbT1eknI8MtfAs= -github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/adal v0.9.22/go.mod h1:XuAbAEUv2Tta//+voMI038TrJBqjKam0me7qR+L8Cmk= -github.com/Azure/go-autorest/autorest/adal v0.9.23 h1:Yepx8CvFxwNKpH6ja7RZ+sKX+DWYNldbLiALMC3BTz8= -github.com/Azure/go-autorest/autorest/adal v0.9.23/go.mod h1:5pcMqFkdPhviJdlEy3kC/v1ZLnQl0MH6XA5YCcMhy4c= -github.com/Azure/go-autorest/autorest/azure/auth v0.4.2 h1:iM6UAvjR97ZIeR93qTcwpKNMpV+/FTWjwEbuPD495Tk= -github.com/Azure/go-autorest/autorest/azure/auth v0.4.2/go.mod h1:90gmfKdlmKgfjUpnCEpOJzsUEjrWDSLwHIG73tSXddM= -github.com/Azure/go-autorest/autorest/azure/cli v0.3.1 h1:LXl088ZQlP0SBppGFsRZonW6hSvwgL5gRByMbvUbx8U= -github.com/Azure/go-autorest/autorest/azure/cli v0.3.1/go.mod h1:ZG5p860J94/0kI9mNJVoIoLgXcirM2gF5i2kWloofxw= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= -github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= -github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= -github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ClickHouse/ch-go v0.61.5 h1:zwR8QbYI0tsMiEcze/uIMK+Tz1D3XZXLdNrlaOpeEI4= -github.com/ClickHouse/ch-go v0.61.5/go.mod h1:s1LJW/F/LcFs5HJnuogFMta50kKDO0lf9zzfrbl0RQg= -github.com/ClickHouse/clickhouse-go/v2 v2.28.2 h1:D/sPEJzPRptJg6aaeAmm/ByDN9H9WgMGrgEl26QH1k8= -github.com/ClickHouse/clickhouse-go/v2 v2.28.2/go.mod h1:PQfZvFzU7TYkY68eCjc8Jq8M3HXC4hMnUmO0ZtVGkaM= -github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= -github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= -github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= -github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= -github.com/DataDog/agent-payload/v5 v5.0.131 h1:i5l0FLY+rpVzS1hBrwR0NxQOmIg+ypXDi7xytGXnaBM= -github.com/DataDog/agent-payload/v5 v5.0.131/go.mod h1:FgVQKmVdqdmZTbxIptqJC/l+xEzdiXsaAOs/vGAvWzs= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2 h1:RUbkDO8Fa67vuKVqQgK1iBk4oM8PtjG09I1w/UdAZUU= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2/go.mod h1:wA3ZO6a8v0tuHLj1aT0eKcBmZY7QmuThxEVQTf6gEPY= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2 h1:EYLWks4f2GeqzwvhyvfhARVpmBRQaoKARvnbKoSk7Kg= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2/go.mod h1:B7o1FsKlzr4JSS+CYKYuyABr3eaaq2W7fIA56ntxGHQ= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2 h1:HqmPb8Qy4gAKdKB8Nrt3FzD5BWatxr6vUVO4//Wf/JY= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2/go.mod h1:njrswNWNeJqFot4U31iWy6DFzm4Bg1PWkt2yEh9hfGU= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 h1:wIGNGeNJPaX7byBWBPnaL4clGAEeIl3IR4o/v+vGIno= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2/go.mod h1:oPs3OkQOyKRX/kERWQGMpIHG6j9J5kIlBdm2R6OyWHE= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 h1:3SeIZmDiXPKGNJKHF2C7KNWjuCM1vLJ+vBtWKpIsrqU= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2/go.mod h1:SUizcQZHTU7Aezk/XKiZjPpt7Ng8x4AsAcr5PlxyP7w= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 h1:t+w11Lqi5XvUpqKGx1GKzlc//1it9H31JOUiJViWUpA= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2/go.mod h1:YJDw2LKcZMO8aSsCrLZm7ZYSOyc/1sNfSE2xv+T5pu4= -github.com/DataDog/datadog-agent/comp/core/log v0.56.2 h1:qvBT+FfjKGqimyEvmsNHCZKbTfBJAdUZSVy2IZQ8HS4= -github.com/DataDog/datadog-agent/comp/core/log v0.56.2/go.mod h1:ivJ/RMZjTNkoPPNDX+v/nnBwABLCiMv1vQA5tk/HCR4= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 h1:6/FSx8WPy/L86LFPWB0YPsiWLvIvcvFbWnba/PDkeo0= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2/go.mod h1:gIs5mmRdE2epD1iYxNvdx2EhXrUfa2jebR+CU+0vYCo= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 h1:oMhfpqlRYwyhUdiN/mQRvI/aWkQERsGWBQscdDwQZ3A= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2/go.mod h1:YkMtv/JWcPabF1jGiReg6eCuFYXyFi5PxOMoNTlFiJs= -github.com/DataDog/datadog-agent/comp/def v0.56.2 h1:EOQj5viXX5l47Su32muRE5uILjdNDsgiOcEqsi6BNgc= -github.com/DataDog/datadog-agent/comp/def v0.56.2/go.mod h1:DEWoZ2fdGE8yy5Q/p8w06DLm3cBWxW8i9a/xNUxE2qc= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 h1:/II2MLkmHKsm/myoui8NIp55mY1gnoOGlEmYTtLvjdw= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2/go.mod h1:q0u4J9s2y0AcqcUHOG1gk4NlgxbVD5G8c7BNKNoGrro= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 h1:SXJCwx6giD8IeQLyVX62gRysBEHx3vczkprPmln1knk= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2/go.mod h1:0o4qKCsmoFkYSgOTKL5UMR1/Ig0pX4bA6gJZjuu8/K4= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 h1:P1u8lJDnCHiWc0vvvvm9JB36fRFJ2eSvD9ajVo0x1r8= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2/go.mod h1:hruCkJ5hCU6LZ5jkdnST3BHanHeQ73ewPAWIW/oZVmw= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 h1:yBmr913VGRz/PFcpLVnXGTQQu7tIB+jMQ8Sss7936qk= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27/go.mod h1:niRElZ9+yd0uG84z4Az+da3JX9UpRu5MrbB32KtF4xI= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 h1:TmEsHhs1mcKsiWTK08aYvZrNZqlbs51FwN6yQVMe7No= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2/go.mod h1:D56XSQiApc7kNzkF2FCJG/6D/8SV3jhdWqe0dDSRGoM= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 h1:WTK6fTNgSCuVrz3dngS7R82rq9SVI+E8oQehd/2eEU0= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2/go.mod h1:tXejTCnqylzUGUBmFF8tcinp+nPCeMqL350Nl/qV5DU= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d h1:wdjJ+/tBYiFLwno+lBPP66rm5jIf6ycGPRr21ogBBzE= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d/go.mod h1:CHa8CY2k0/wZkx/4KPi/WU/0m5YCfWZI1SAs1imElMA= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 h1:sp+1EdyRYwAygX6FzVxl0V1vQCdfOJMHfsQavkZlXus= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 h1:NV9Grkuvy5W3ye7JRczn3lpNRn+qgUMwGKuwP9nKcqY= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2/go.mod h1:K1IRoBfCpCikrKNSXi+fi+X0ukAP0ZoyoTF5AovP11c= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3 h1:Hq2tQTaFcEJy9o1QFb9Ql/gm0uRzrYQkFEZGPVKLMHI= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3/go.mod h1:TOlu5v8b46+aW9h3KLZdOiwz3gJkoQerT3+F3st6ZRA= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 h1:OWZmy3BPMkjDjDp+mIYdGS+jjFUx3jK/sDJI/AjtvaY= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 h1:TWsAiPjYKomf5FqRodShgzRRI+oP/537/myvW5GIXT8= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2/go.mod h1:1gXwnxusuGZQim0dtfidr7P1R/WGZGwY4HJvLKJUqMk= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2 h1:sgipVv0WUoKO9RNSYFhNXH4wicevfU+yti8+rZDClFo= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2/go.mod h1:RA+h+P2M7BlBeU+XVuZXhTj8lzjXdEoCLP28EkcYV8s= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 h1:XjB3XpimhNFgHYztUZAFTbSg7G3BzbVqAdYhbf3OSEs= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2/go.mod h1:wm7zXdwf0zknLgc9lpz2H70fRP2xA9WHL0LEscxtDXQ= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 h1:WMKs6IwIUpPrZ8KoiTL2Dw6y7UUQJs8v7VkuZc1s0jA= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2/go.mod h1:fYK7gt2JvuTmS5JeGCxui1Id8ZFkv2PUJrdnBvNhlxQ= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 h1:nhTqSjxsOTf5UsSkWY9SxRRpN+qsiV5/I4MrSyjVuc8= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2/go.mod h1:s0ndzOnxWvO1TSdrhEtjXtnjb838Pkzxj0AmHpiKK7U= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 h1:VIlQd7UBq3oUoUbpRmiwIlkDZuGvAXS/wUXU6xmezwk= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2/go.mod h1:Vm8HdkHHpEwZhixY0oPWsx0+EidhSaMTF7tN9yuMPFY= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 h1:1qg4WagIl2qtKcq9cVL2fRBhqvYQ5DuYaY7cFJ+293k= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2/go.mod h1:Wb8Rxw8BdbLQPzwNXtpWUO9+bBfZhyB63/8oYFLv/GQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 h1:0AF1X1OabT8vCTYK3Aim122xkg6bAMUJXYTcH/RL7pQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2/go.mod h1:AFPiROajOY3I6akR+WsKwGIriBPiTHRBfx8tmw8hGRw= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 h1:iduodazC+WDi7ZzRKYZvzFNq2GsxtgIgrzkwK19//3k= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2/go.mod h1:Qrr7ursqqUvokjJTBklUzL3Vk1THLi1NMpUhY/jGKEc= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 h1:0aETddrtn7SOZqCX9tOEiRgPgKKG2u9X9YMnNaboQYM= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2/go.mod h1:mVRXyOp9oiPkj43jRt3r/iTL+XuScLKJjv3MzDvB5eQ= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 h1:vuZjsCYaGwAazLKiLSHqCm/fsGeRmONN/rIneQWEXBE= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2/go.mod h1:YX4mkRMvBjp3/X+8Lf39g/AntSZurqL6UIYdJdK2k/M= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 h1:AJoG4f9WoOgYnzmk12gY5TjPsS+lZTg9wK90oWEhtlU= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2/go.mod h1:9XZDNW8LRR1yk/H8QvVmHNAEkrtEDXrsgEKd7WdU3pc= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 h1:coxL4HfNDRh9KCIHod9vMT5iBkmU0LV3U4xcHmZ9YCk= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2/go.mod h1:vBywuPyeY7FAW+bpIqAoVKIBxX4JoIQ2GDaAtVgMk24= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 h1:Ky5KX2o++a7hGkyiNBwqDGODrhBI7LmLZXtnFCjS8Ic= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2/go.mod h1:IhlLrrI3hWySfPYFMqtlY9kNg4ECz7ojpviXJhdILbQ= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 h1:KjrdVk+88cnPk2iWOz2Go1BZlLW0ulrPBNlq2oiStC0= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2/go.mod h1:cQ/XredS3KBuGthDWqwOhiwkMGStRCjt6VuEJMVvfTc= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 h1:DLgBADfWqBrhM8n5DRg9UvrnxYqU+BW3QvvUGAqkpRA= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2/go.mod h1:PaduNrh0GJ3UEKG30VMu0M6hi7KuYf3VviLdIG9xV9k= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 h1:f1aTHRfL7YToK03+xmBACsuOwHYZoqP74PdYoNJL2x0= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2/go.mod h1:p2NTG+cIhVGlKELJfRteGCec37ICptIpeB2x/MsRkbw= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2 h1:GhiXTsuUbGloQh7Um5AX0JmggwDn9/x0icWOTNEjovI= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2/go.mod h1:Ple3tPG2mBALotrP7KH/A6CY7M+3npX6+/Zl5bwY7EM= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qcg03KcP2v/dkFnuEy+qC0jWgZi1SP4jfx/BOpL0ayY= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:icOxQ1JBek3L0WCQXsKD+VhRc3S0rn71/bUkt6tKVSY= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2 h1:i6zUPUGL6QWZVxTAsFBvTcn4GSPRY3dnqPBC6kiEsB4= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2/go.mod h1:HG4/o+jZ2T6+bhTOKQj+3ikKGhFLWTp5Kib9swNxTeY= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 h1:c+KHCZcoUBhjNpoYkpys4v/eN4Q+eEktUE2vyhVHKw0= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2/go.mod h1:If8HaT8MFPv9NdWDtaQfEy1OUB6RiMFeQwLSay7G91U= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 h1:XbVTbfBXqCnr48Yg3yFfBRzP3B/Y1yS5pqpKJX59RU0= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 h1:jda5gGyoU/lXVqQsr1xv+z8K8ujLX4MppiMNtMH5chQ= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2/go.mod h1:u6BWbLlCuVOu77ntX0x5af1qNISD0wtMj5c6ojfHQyk= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qEUqimASiw9IfkDKxHqcZ6M6w0TREBGPVlePP3Ng/No= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:6oieT7MVbPg52r1pHQkiNavDIK7pN1ZKsudT9s0kLzY= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 h1:AWmZSmqPmm2QHsQtmB6MiNaq0ssp9/4fhq4aiGqJ1Sg= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 h1:myVkrQcWHHALBxNVO+BE88IvF/MmFNXEusb59dWAG0k= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2/go.mod h1:JkzBRRIF14HkunWu+gPPCQxm4FW8dDg+6ioBDaKYdco= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 h1:XN+YzFS2mUF9OYrxQIPZdgiYhJzc+CUZgrXs8WL8y/A= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2/go.mod h1:mSSn2OzsdgoUnPyBmF8rEDU+ee1RFp+H6LFsJSteN9o= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 h1:Lhy+q1zl9EQSM97ixD770xwFirtPF/69O13qnO8OxHo= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2/go.mod h1:GD+HjlsNGhPAjAYrNjt/XXq+lHgor1Piia+Mlat/97s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 h1:FOnoG/i37bWlZfVhS/a1icX83dUtSCsixZYi3qTxT1s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2/go.mod h1:bI6jSFleEMzkMlm+dmjNs4T7a6R9PDIgWdAyW6cIBkY= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 h1:1lgz81YwRXqGqYqX65mTDBHWLgpUBP67giv3sVthYig= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2/go.mod h1:g+gn4N6q/QoVjAvMFWJFcTc8nnwVx2LqaUEoj0Y/MSE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 h1:yu88zoYRzyd0EK4F7bJ39D8ibJa82y+x4u0JHeeQoxE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2/go.mod h1:jVsNYokuDBLoj/5SMCrjmtZc+yfiBBfHN7Nkhw9VJdI= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 h1:dcdsyPFTHFr+Cl/OfNt5VJWZl/TY0Xo5KYTDD316Ep4= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2/go.mod h1:DWliXBL5ROdWFjUHuh5fh5ve5zHydidMM/hE/w3j/Ww= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 h1:ZxVlp133lU1sxOSOC3Qk75ADTXLkVMiubE/+Fpsd5Jk= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2/go.mod h1:xWT/KJdJg2/0pZyAKZ6XmIiE5sM+AyUo4qvKuPHQ17U= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 h1:LkFVlpKVHvefsAYtUUA87gYBO6D0KC5ncB7tFsBJFJM= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2/go.mod h1:t1DlnUEMltkvwPLc7zCtP1u5cBDu+30daR2VhQO5bvA= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 h1:RPonaHh3OKj1VCmaBJWYhrlS4m+VXvJAW/LuDwcFXG8= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 h1:9oHsY5RiebLoONStzy1OTG168WvPMnF8rU9TCgn/v+Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2/go.mod h1:IkqOyNbrg9hXqCMyL+g+Ldhz4q6VVOPqbHQxS4lLiRs= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 h1:lf2s/5Z8FQlMDK+881Dg/UIIQbHBdDM0gu/PJwPSgE0= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2/go.mod h1:Et2HSDjQvMhgs9ZdH7T5I4q04g5Fj23EtmeIaen/9/M= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 h1:yPztPIEPPeDgxJoOFVVR9lcIA2NF8ScGdplU2puav1U= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2/go.mod h1:AbeAoUquORgGoRhQ9hDqJO/n4nCw7+/k5dgq/ZysWWI= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 h1:EQuMMdAd7uTeYCcHsyL6mUixMGtcU0PiAjea170xEAA= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2/go.mod h1:tBwAMDAEJEaZ5VNe19GJoLLzviZGOPUJH0WnzETWhyY= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2 h1:P4u0CtJqWV0xJ3N+smRjktS/IlZlf4jMMHdcuSUw3kQ= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2/go.mod h1:m/uWLdpGEi3x/5gybZFeYNEnIdKhGtWW8kFZuM+GSFA= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 h1:5Cg+O4+Npt8BMuot5KpRdN5TVw9lqRxUBkcr6W9Bss8= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2/go.mod h1:lZaWAGe78MiYFRHwbHS1NikRXtiYz3CsEiYbyMJyPTk= -github.com/DataDog/datadog-agent/pkg/version v0.56.2 h1:gUTMxa47ARBNxIex1g40Gi3xprhq1QMMvzqsP3yxdNw= -github.com/DataDog/datadog-agent/pkg/version v0.56.2/go.mod h1:rcA7LtIB5WLpxsems/bWO1iXkyGEgHHje7vJ0b20ZpU= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0 h1:b0vTasEPUc7FuCKaRFqbJB+88IdWL/f7LdKcasMV8Vo= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0/go.mod h1:QKOu6vscsh87fMY1lHfLEmNSunyXImj8BUaUWJXOehc= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= -github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe h1:efzxujZ7VHWFxjmWjcJyUEpPrN8qdiZPYb+dBw547Wo= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= -github.com/DataDog/go-sqllexer v0.0.13 h1:9mKfe+3s73GI/7dWBxi2Ds7+xZynJqMKK9cIUBrutak= -github.com/DataDog/go-sqllexer v0.0.13/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= -github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= -github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= -github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee h1:tXibLZk3G6HncIFJKaNItsdzcrk4YqILNDZlXPTNt4k= -github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee/go.mod h1:nTot/Iy0kW16bXgXr6blEc8gFeAS7vTqYlhAxh+dbc0= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 h1:BSxE140Gynn3ZeH56ofYzv8I0X0slxGfuY5iyH1sHVs= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0/go.mod h1:BaxI6A5wpYHicrxm/65NTpW6kHxHcO24M7CKmZEMilE= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0 h1:rP4hnNCufRM2OsnFy0Tf00r6mu19fcQxfVN4E1rD5mY= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0/go.mod h1:66XlN7QpQKqIvw8e2UbCXV5X8wGnEw851nT9BjJ75dY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 h1:TOcwknwAfubzVfGSC0VJX9C5LjC0dpQxM8ltVE/55R0= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 h1:37H9gltcqOfrIaTD5BbgMkHdEQCphETz/s+ThFoxWTg= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0/go.mod h1:PqMDslg4Fn+rzrFpPdagRARa/CbtLuNYYj7vGv+RfFQ= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 h1:JnRJqpnG0tDVTsD9uU6Xk9Nh/ozuLa4emyR+t7WxIto= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0/go.mod h1:OEECw1sTZq5HfYzpl5C8Md/8wjsnmxF5lxFmv3Ey2CA= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 h1:SAczemPbq9qyzyi8Crd8MvEjYQXwsTUxR8tJlXLqnmk= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0/go.mod h1:Rhxlru6B8yfLZ4VSjuAuMnWdPgP8X60kvRjrdt84iNU= -github.com/DataDog/sketches-go v1.4.6 h1:acd5fb+QdUzGrosfNLwrIhqyrbMORpvBy7mE+vHlT3I= -github.com/DataDog/sketches-go v1.4.6/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= -github.com/DataDog/viper v1.13.5 h1:SZMcyMknYQN2jRY/40A16gUXexlNJOI8sDs1cWZnI64= -github.com/DataDog/viper v1.13.5/go.mod h1:wDdUVJ2SHaMaPrCZrlRCObwkubsX8j5sme3LaR/SGTc= -github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= -github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 h1:KeNholpO2xKjgaaSyd+DyQRrsQjhbSeS7qe4nEw8aQw= -github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962/go.mod h1:kC29dT1vFpj7py2OvG1khBdQpo3kInWP+6QipLbdngo= -github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0 h1:oVLqHXhnYtUwM89y9T1fXGaK9wTkXHgNp8/ZNMQzUxE= -github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0/go.mod h1:dppbR7CwXD4pgtV9t3wD1812RaLDcBjtblcDF5f1vI0= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1 h1:55BCCek53ynaXLoMS8bdivu34TYZ4dnKzi4sOf7qtIU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1/go.mod h1:n8ee0TUmtsXm2GUWL86jkrxc8mPGRLuTJg13M/iW6Q0= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.1 h1:u/of4NZ/0vK8c9Zjt6QLQtHjzjxKvplbrU8r1kLLYTk= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.1/go.mod h1:nolt+2xPwKxTH0sQ5SKrK0kKEvVq12N/+3r6vhAmPvw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1 h1:01bHLeqkrxYSkjvyTBEZ8rxBxDhWm1snWGEW73Te4lU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1/go.mod h1:UFO9jC3njhKdD/ymLnaKi7Or5miVWq06LvRWQNFfnTU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.1 h1:aDHQzMbI6DtBtuWiWsg2oJyzDtpNo5gmVIInub0hCRQ= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.1/go.mod h1:AiYjjg798z0U8X9g9J93AG7a027QUt7afw1+iYPjhss= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= -github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/IBM/sarama v1.43.3 h1:Yj6L2IaNvb2mRBop39N7mmJAHBVY3dTPncr3qGVkxPA= -github.com/IBM/sarama v1.43.3/go.mod h1:FVIRaLrhK3Cla/9FfRF5X9Zua2KpS3SYIXxhac1H+FQ= -github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= -github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= -github.com/Khan/genqlient v0.7.0 h1:GZ1meyRnzcDTK48EjqB8t3bcfYvHArCUUvgOwpz1D4w= -github.com/Khan/genqlient v0.7.0/go.mod h1:HNyy3wZvuYwmW3Y7mkoQLZsa/R5n5yIRajS1kPBvSFM= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= -github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/Netflix/go-env v0.0.0-20220526054621-78278af1949d h1:wvStE9wLpws31NiWUx+38wny1msZ/tm+eL5xmm4Y7So= -github.com/Netflix/go-env v0.0.0-20220526054621-78278af1949d/go.mod h1:9XMFaCeRyW7fC9XJOWQ+NdAv8VLG7ys7l3x4ozEGLUQ= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/ReneKroon/ttlcache/v2 v2.11.0 h1:OvlcYFYi941SBN3v9dsDcC2N8vRxyHcCmJb3Vl4QMoM= -github.com/ReneKroon/ttlcache/v2 v2.11.0/go.mod h1:mBxvsNY+BT8qLLd6CuAJubbKo6r0jh3nb5et22bbfGY= -github.com/SAP/go-hdb v1.12.0 h1:ZSjQqVfOITKMiLN7ycbfRncrNcjzRw9/p349v4oEODI= -github.com/SAP/go-hdb v1.12.0/go.mod h1:0DG4r/GryOydt1Z+ZardSS806ADjty2bR0wCPFpOzZA= -github.com/SermoDigital/jose v0.9.2-0.20161205224733-f6df55f235c2/go.mod h1:ARgCUhI1MHQH+ONky/PAtmVHQrP5JlGY0F3poXOp/fA= -github.com/SermoDigital/jose v0.9.2-0.20180104203859-803625baeddc h1:MhBvG7RLaLqlyjxMR6of35vt6MVQ+eXMcgn9X/sy0FE= -github.com/SermoDigital/jose v0.9.2-0.20180104203859-803625baeddc/go.mod h1:ARgCUhI1MHQH+ONky/PAtmVHQrP5JlGY0F3poXOp/fA= -github.com/Showmax/go-fqdn v1.0.0 h1:0rG5IbmVliNT5O19Mfuvna9LL7zlHyRfsSvBPZmF9tM= -github.com/Showmax/go-fqdn v1.0.0/go.mod h1:SfrFBzmDCtCGrnHhoDjuvFnKsWjEQX/Q9ARZvOrJAko= -github.com/aerospike/aerospike-client-go/v7 v7.6.1 h1:VZK6S9YKq2w6ptTk3kXXjTxG2U9M9Y7Oi3YQ+3T7wQQ= -github.com/aerospike/aerospike-client-go/v7 v7.6.1/go.mod h1:uCbSYMpjlRcH/9f26VSF/luzDDXrcDaV8c6/WIcKtT4= -github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= -github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= -github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= -github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= -github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6icjJvbsmV8= -github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= -github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= -github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 h1:t3eaIm0rUkzbrIewtiFmMK5RXHej2XnoXNhxVsAYUfg= -github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= -github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4 h1:iC9YFYKDGEy3n/FtqJnOkZsene9olVspKmkX5A2YBEo= -github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4/go.mod h1:sCavSAvdzOjul4cEqeVtvlSaSScfNsTQ+46HwlTL1hc= -github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.4 h1:7Q2FEyqxeZeIkwYMwRC3uphxV4i7O2eV4ETe21d6lS4= -github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.4/go.mod h1:5JHVmnHvGzR2wNdgaW1zDLQG8kOC4Uec8ubkMogW7OQ= -github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 h1:NqugFkGxx1TXSh/pBcU00Y6bljgDPaFdh5MUSeJ7e50= -github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68/go.mod h1:6pb/Qy8c+lqua8cFpEy7g39NRRqOWc3rOwAy8m5Y2BY= -github.com/alibabacloud-go/endpoint-util v1.1.0 h1:r/4D3VSw888XGaeNpP994zDUaxdgTSHBbVfZlzf6b5Q= -github.com/alibabacloud-go/endpoint-util v1.1.0/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE= -github.com/alibabacloud-go/openapi-util v0.1.0 h1:0z75cIULkDrdEhkLWgi9tnLe+KhAFE/r5Pb3312/eAY= -github.com/alibabacloud-go/openapi-util v0.1.0/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws= -github.com/alibabacloud-go/sts-20150401/v2 v2.0.1 h1:CevZp0VdG7Q+1J3qwNj+JL7ztKxsL27+tknbdTK9Y6M= -github.com/alibabacloud-go/sts-20150401/v2 v2.0.1/go.mod h1:8wJW1xC4mVcdRXzOvWJYfCCxmvFzZ0VB9iilVjBeWBc= -github.com/alibabacloud-go/tea v1.1.19 h1:Xroq0M+pr0mC834Djj3Fl4ZA8+GGoA0i7aWse1vmgf4= -github.com/alibabacloud-go/tea v1.1.19/go.mod h1:nXxjm6CIFkBhwW4FQkNrolwbfon8Svy6cujmKFUq98A= -github.com/alibabacloud-go/tea-utils v1.3.1 h1:iWQeRzRheqCMuiF3+XkfybB3kTgUXkXX+JMrqfLeB2I= -github.com/alibabacloud-go/tea-utils v1.3.1/go.mod h1:EI/o33aBfj3hETm4RLiAxF/ThQdSngxrpF8rKUDJjPE= -github.com/alibabacloud-go/tea-utils/v2 v2.0.1 h1:K6kwgo+UiYx+/kr6CO0PN5ACZDzE3nnn9d77215AkTs= -github.com/alibabacloud-go/tea-utils/v2 v2.0.1/go.mod h1:U5MTY10WwlquGPS34DOeomUGBB0gXbLueiq5Trwu0C4= -github.com/alibabacloud-go/tea-xml v1.1.2 h1:oLxa7JUXm2EDFzMg+7oRsYc+kutgCVwm+bZlhhmvW5M= -github.com/alibabacloud-go/tea-xml v1.1.2/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8= -github.com/aliyun/aliyun-log-go-sdk v0.1.82 h1:xBfCcAcgoKgZM+JZC70o0iIrNZwFRrcMCcHdGv3s3Ak= -github.com/aliyun/aliyun-log-go-sdk v0.1.82/go.mod h1:aCY/2vkzJxMpoAVuyuMMTYFHur5otoWXSo9ofKJ67Ek= -github.com/aliyun/credentials-go v1.1.2 h1:qU1vwGIBb3UJ8BwunHDRFtAhS6jnQLnde/yk0+Ih2GY= -github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= -github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= -github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= -github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= -github.com/apache/arrow/go/v15 v15.0.0 h1:1zZACWf85oEZY5/kd9dsQS7i+2G5zVQcbKTHgslqHNA= -github.com/apache/arrow/go/v15 v15.0.0/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= -github.com/apache/arrow/go/v16 v16.1.0 h1:dwgfOya6s03CzH9JrjCBx6bkVb4yPD4ma3haj9p7FXI= -github.com/apache/arrow/go/v16 v16.1.0/go.mod h1:9wnc9mn6vEDTRIm4+27pEjQpRKuTvBaessPoEXQzxWA= -github.com/apache/arrow/go/v17 v17.0.0 h1:RRR2bdqKcdbss9Gxy2NS/hK8i4LDMh23L6BbkN5+F54= -github.com/apache/arrow/go/v17 v17.0.0/go.mod h1:jR7QHkODl15PfYyjM2nU+yTLScZ/qfj7OSUZmJ8putc= -github.com/apache/pulsar-client-go v0.13.1 h1:XAAKXjF99du7LP6qu/nBII1HC2nS483/vQoQIWmm5Yg= -github.com/apache/pulsar-client-go v0.13.1/go.mod h1:0X5UCs+Cv5w6Ds38EZebUMfyVUFIh+URF2BeipEVhIU= -github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= -github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= -github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= -github.com/ardielle/ardielle-go v1.5.2/go.mod h1:I4hy1n795cUhaVt/ojz83SNVCYIGsAFAONtv2Dr7HUI= -github.com/ardielle/ardielle-tools v1.5.4/go.mod h1:oZN+JRMnqGiIhrzkRN9l26Cej9dEx4jeNG6A+AdkShk= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= -github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/aws-sdk-go v1.32.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.263/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= -github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8= -github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw= -github.com/aws/aws-sdk-go-v2/config v1.18.25/go.mod h1:dZnYpD5wTW/dQF0rRNLVypB396zWCcPiBIvdvSWHEg4= -github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI= -github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM= -github.com/aws/aws-sdk-go-v2/credentials v1.13.24/go.mod h1:jYPYi99wUOPIFi0rhiOvXeSEReVOzBqFNOX5bXYoG2o= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3/go.mod h1:4Q0UFP0YJf0NrsEuEYHpM9fTSEVnD16Z3uyEF7J9JGM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 h1:7Zwtt/lP3KNRkeZre7soMELMGNoBrutx8nobg1jKWmo= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15/go.mod h1:436h2adoHb57yd+8W+gYPrrA9U/R/SuAuOO42Ushzhw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 h1:mimdLQkIX1zr8GIPY1ZtALdBQGxcASiBd2MOp8m/dMc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16/go.mod h1:YHk6owoSwrIsok+cAH9PENCOGoH5PU2EllX4vLtSrsY= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 h1:GckUnpm4EJOAio1c8o25a+b3lVfwVzC9gnSBqiiNmZM= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18/go.mod h1:Br6+bxfG33Dk3ynmkhsW2Z/t9D4+lRqdLDNCKi85w0U= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 h1:jg16PhLPUiHIj8zYIW6bqzeQSuHVEiWnGA0Brz5Xv2I= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16/go.mod h1:Uyk1zE1VVdsHSU7096h/rwnXDzOzYQVl+FNPhPw7ShY= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.5 h1:iirGMva2IXw4kcqsvuF+uc8ARweuVqoQJjzRZGaiV1E= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.5/go.mod h1:pKTvEQz1PcNd+gKArVyeHpVM63AWnFqYyg07WAQQANQ= -github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0 h1:Wb544Wh+xfSXqJ/j3R4aX9wrKUoZsJNmilBYZb3mKQ4= -github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0/go.mod h1:BSPI0EfnYUuNHPS0uqIo5VrRwzie+Fp+YhQOUs16sKI= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.6 h1:3TZlWvCC813uhS1Z4fVTmBhg41OYUrgSlvXqIDDkurw= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.6/go.mod h1:5NPkI3RsTOhwz1CuG7VVSgJCm3CINKkoIaUbUZWQ67w= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.5 h1:z7nPig/pFU+TAAKouI51pCVQPEeQHZC2mZXSK+g0Av8= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.5/go.mod h1:5autx6GwAtQVv8S/qTwBKfxzAAwe8hOlzVuTtLdliVw= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.10/go.mod h1:ouy2P4z6sJN70fR3ka3wD3Ro3KezSxU6eKGQI2+2fjI= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10/go.mod h1:AFvkxc8xfBe8XA+5St5XIHHrQQtkxqrRincx4hmMHOk= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= -github.com/aws/aws-sdk-go-v2/service/sts v1.19.0/go.mod h1:BgQOMsg8av8jset59jelyPW7NoZcZXLVpDsXunGDrk8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= -github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= -github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc h1:Keo7wQ7UODUaHcEi7ltENhbAK2VgZjfat6mLy03tQzo= -github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc/go.mod h1:k08r+Yj1PRAmuayFiRK6MYuR5Ve4IuZtTfxErMIh0+c= -github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= -github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= -github.com/basgys/goxml2json v1.1.0 h1:4ln5i4rseYfXNd86lGEB+Vi652IsIXIvggKM/BhUKVw= -github.com/basgys/goxml2json v1.1.0/go.mod h1:wH7a5Np/Q4QoECFIU8zTQlZwZkrilY0itPfecMw41Dw= -github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= -github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3/go.mod h1:CIWtjkly68+yqLPbvwwR/fjNJA/idrtULjZWh2v1ys0= -github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= -github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= -github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= -github.com/bits-and-blooms/bitset v1.4.0 h1:+YZ8ePm+He2pU3dZlIZiOeAKfrBkXi1lSrXJ/Xzgbu8= -github.com/bits-and-blooms/bitset v1.4.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= -github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= -github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE= -github.com/brianvoe/gofakeit/v6 v6.17.0 h1:obbQTJeHfktJtiZzq0Q1bEpsNUs+yHrYlPVWt7BtmJ4= -github.com/brianvoe/gofakeit/v6 v6.17.0/go.mod h1:Ow6qC71xtwm79anlwKRlWZW6zVq9D2XHE4QSSMP/rU8= -github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= -github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= -github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= -github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= -github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= -github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8= -github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cihub/seelog v0.0.0-20151216151435-d2c6e5aa9fbf/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= -github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 h1:kHaBemcxl8o/pQ5VM1c8PVE1PubbNx3mjUr09OqWGCs= -github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= -github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y= -github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I= -github.com/clbanning/mxj/v2 v2.5.5 h1:oT81vUeEiQQ/DcHbzSytRngP6Ky9O+L+0Bw0zSJag9E= -github.com/clbanning/mxj/v2 v2.5.5/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudfoundry-incubator/uaago v0.0.0-20190307164349-8136b7bbe76e h1:DFYA2+zpeaTPEOizAJuaee2O7YX3UP5tOMjkeXL8iLo= -github.com/cloudfoundry-incubator/uaago v0.0.0-20190307164349-8136b7bbe76e/go.mod h1:8wJCVaTSjT8phXCkbZWAKIB9JU8BEVHbnSbLgkr8WfY= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/containerd/cgroups/v3 v3.0.3 h1:S5ByHZ/h9PMe5IOQoN7E+nMc2UcLEM/V48DGDJ9kip0= -github.com/containerd/cgroups/v3 v3.0.3/go.mod h1:8HBe7V3aWGLFPd/k03swSIsGjZhHI2WzJmticMgVuz0= -github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= -github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= -github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= -github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= -github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= -github.com/containerd/ttrpc v1.2.4 h1:eQCQK4h9dxDmpOb9QOOMh2NHTfzroH1IkmHiKZi05Oo= -github.com/containerd/ttrpc v1.2.4/go.mod h1:ojvb8SJBSch0XkqNO0L0YX/5NxR3UnVk2LzFKBK0upc= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/bbolt v1.3.3/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-oidc/v3 v3.11.0 h1:Ia3MxdwpSw702YW0xgfmP1GVCMA9aEFWu12XUZ3/OtI= -github.com/coreos/go-oidc/v3 v3.11.0/go.mod h1:gE3LgjOgFoHi9a4ce4/tJczr0Ai2/BoDhf0r5lltWI0= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= -github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= -github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo= -github.com/cyphar/filepath-securejoin v0.2.5/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= -github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= -github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= -github.com/devigned/tab v0.1.1 h1:3mD6Kb1mUOYeLpJvTVSDwSg5ZsfSxfvxGRTxRsJsITA= -github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc h1:8WFBn63wegobsYAX0YjD+8suexZDga5CctH4CCTx2+8= -github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc/go.mod h1:c9O8+fpSOX1DM8cPNSkX/qsBWdkD4yd2dpciOWQjpBw= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/digitalocean/godo v1.118.0 h1:lkzGFQmACrVCp7UqH1sAi4JK/PWwlc5aaxubgorKmC4= -github.com/digitalocean/godo v1.118.0/go.mod h1:Vk0vpCot2HOAJwc5WE8wljZGtJ3ZtWIc8MQ8rF38sdo= -github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= -github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= -github.com/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4wg/adLLz5xh5CmpiCA= -github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0= -github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= -github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/docker v27.2.0+incompatible h1:Rk9nIVdfH3+Vz4cyI/uhbINhEZ/oLmc+CBXmH6fbNk4= -github.com/docker/docker v27.2.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= -github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= -github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02 h1:tR3jsKPiO/mb6ntzk/dJlHZtm37CPfVp1C9KIo534+4= -github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02/go.mod h1:7NQ3kWOx2cZOSjtcveTa5nqupVr2s6/83sG+rTlI7uA= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= -github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= -github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= -github.com/eapache/go-resiliency v1.7.0 h1:n3NRTnBn5N0Cbi/IeOHuQn9s2UwVUH7Ga0ZWcP+9JTA= -github.com/eapache/go-resiliency v1.7.0/go.mod h1:5yPzW0MIvSe0JDsv0v+DvcjEv2FyD6iZYSs1ZI+iQho= -github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 h1:Oy0F4ALJ04o5Qqpdz8XLIpNA3WM/iSIXqxtqo7UGVws= -github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3/go.mod h1:YvSRo5mw33fLEx1+DlK6L2VV43tJt5Eyel9n9XBcR+0= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA= -github.com/elastic/elastic-transport-go/v8 v8.6.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= -github.com/elastic/go-docappender/v2 v2.3.0 h1:Vr+l36jM+sE/LHp0JFxSIbHlWTSk8CpBblYWZZ/I1KA= -github.com/elastic/go-docappender/v2 v2.3.0/go.mod h1:VNWgXUE9HX1G6W6ON8dOs/KdH8aCxXir/fxxcfrnov4= -github.com/elastic/go-elasticsearch/v7 v7.17.10 h1:TCQ8i4PmIJuBunvBS6bwT2ybzVFxxUhhltAs3Gyu1yo= -github.com/elastic/go-elasticsearch/v7 v7.17.10/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= -github.com/elastic/go-elasticsearch/v8 v8.14.0 h1:1ywU8WFReLLcxE1WJqii3hTtbPUE2hc38ZK/j4mMFow= -github.com/elastic/go-elasticsearch/v8 v8.14.0/go.mod h1:WRvnlGkSuZyp83M2U8El/LGXpCjYLrvlkSgkAH4O5I4= -github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= -github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= -github.com/elastic/go-structform v0.0.12 h1:HXpzlAKyej8T7LobqKDThUw7BMhwV6Db24VwxNtgxCs= -github.com/elastic/go-structform v0.0.12/go.mod h1:CZWf9aIRYY5SuKSmOhtXScE5uQiLZNqAFnwKR4OrIM4= -github.com/elastic/go-sysinfo v1.7.1 h1:Wx4DSARcKLllpKT2TnFVdSUJOsybqMYCNQZq1/wO+s0= -github.com/elastic/go-sysinfo v1.7.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= -github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= -github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= -github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= -github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= -github.com/elastic/lunes v0.1.0/go.mod h1:xGphYIt3XdZRtyWosHQTErsQTd4OP1p9wsbVoHelrd4= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= -github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 h1:IgJPqnrlY2Mr4pYB6oaMKvFvwJ9H+X6CCY5x1vCTcpc= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= -github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= -github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= -github.com/euank/go-kmsg-parser v2.0.0+incompatible h1:cHD53+PLQuuQyLZeriD1V/esuG4MuU0Pjs5y6iknohY= -github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= -github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= -github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= -github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= -github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= -github.com/facebook/time v0.0.0-20240510113249-fa89cc575891 h1:x6T9k2Jw0IPzSdM2i4tVWmnJ3KJ1fEKwWJ++IzDvPDU= -github.com/facebook/time v0.0.0-20240510113249-fa89cc575891/go.mod h1:2UFAomOuD2vAK1x68czUtCVjAqmyWCEnAXOlmGqf+G0= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.11.0/go.mod h1:K+q6oSqb0W0Ininfk863uOk1lMy69l/P6txr3mVT54s= -github.com/frankban/quicktest v1.11.2/go.mod h1:K+q6oSqb0W0Ininfk863uOk1lMy69l/P6txr3mVT54s= -github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= -github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= -github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= -github.com/getsentry/sentry-go v0.28.1 h1:zzaSm/vHmGllRM6Tpx1492r0YDzauArdBfkJRtY6P5k= -github.com/getsentry/sentry-go v0.28.1/go.mod h1:1fQZ+7l7eeJ3wYi82q5Hg8GqAPgefRq+FP/QhafYVgg= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-faster/city v1.0.1 h1:4WAxSZ3V2Ws4QRDrscLEDcibJY8uf41H6AhXDrNDcGw= -github.com/go-faster/city v1.0.1/go.mod h1:jKcUJId49qdW3L1qKHH/3wPeUstCVpVSXTM6vO3VcTw= -github.com/go-faster/errors v0.7.1 h1:MkJTnDoEdi9pDabt1dpWf7AA8/BaSYZqibYyhZ20AYg= -github.com/go-faster/errors v0.7.1/go.mod h1:5ySTjWFiphBs07IKuiL69nxdfd5+fzh1u7FPGZP2quo= -github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= -github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-jose/go-jose/v4 v4.0.2 h1:R3l3kkBds16bO7ZFAEEcofK0MkrAJt3jlJznWZG0nvk= -github.com/go-jose/go-jose/v4 v4.0.2/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= -github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= -github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= -github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= -github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= -github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q= -github.com/go-openapi/jsonpointer v0.20.2/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdXSSgNeAhojU= -github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHauHj0V9Lhc506VOpw4= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.5/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.22.9 h1:XX2DssF+mQKM2DHsbgZK74y/zj4mo9I99+89xUmuZCE= -github.com/go-openapi/swag v0.22.9/go.mod h1:3/OXnFfnMAwBD099SwYRk7GD3xOrr1iL7d/XNLXVVwE= -github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-resty/resty/v2 v2.13.1 h1:x+LHXBI2nMB1vqndymf26quycC4aggYJ7DECYbiz03g= -github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96ORAI6Q7d+0= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= -github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= -github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= -github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= -github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/gocql/gocql v1.6.0 h1:IdFdOTbnpbd0pDhl4REKQDM+Q0SzKXQ1Yh+YZZ8T/qU= -github.com/gocql/gocql v1.6.0/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro= -github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= -github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= -github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= -github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= -github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA= -github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= -github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= -github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cadvisor v0.49.1-0.20240628164550-89f779d86055 h1:LH//TOiNPpCn3a48Flz5sNUmuMW5V/sTKheuXAPowUA= -github.com/google/cadvisor v0.49.1-0.20240628164550-89f779d86055/go.mod h1:koGHrZgL6RdZ29g/iXWT4kUIawssUi88XCYDlyPt5RI= -github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/flatbuffers v24.3.25+incompatible h1:CX395cjN9Kke9mmalRoL3d81AtFUxJM+yDthflgJGkI= -github.com/google/flatbuffers v24.3.25+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github/v64 v64.0.0 h1:4G61sozmY3eiPAjjoOHponXDBONm+utovTKbyUb2Qdg= -github.com/google/go-github/v64 v64.0.0/go.mod h1:xB3vqMQNdHzilXBiO2I+M7iEFtHf+DP/omBOv6tQzVo= -github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= -github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da h1:xRmpO92tb8y+Z85iUOMOicpCfaYcv7o3Cg3wKrIpg8g= -github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= -github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= -github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= -github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= -github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= -github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= -github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= -github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gophercloud/gophercloud v1.13.0 h1:8iY9d1DAbzMW6Vok1AxbbK5ZaUjzMp0tdyt4fX9IeJ0= -github.com/gophercloud/gophercloud v1.13.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= -github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= -github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= -github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= -github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= -github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= -github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= -github.com/gosnmp/gosnmp v1.38.0 h1:I5ZOMR8kb0DXAFg/88ACurnuwGwYkXWq3eLpJPHMEYc= -github.com/gosnmp/gosnmp v1.38.0/go.mod h1:FE+PEZvKrFz9afP9ii1W3cprXuVZ17ypCcyyfYuu5LY= -github.com/grafana/loki/pkg/push v0.0.0-20240514112848-a1b1eeb09583 h1:dN3eF1S5fvVu2l9WoqYSvmNmPK8Uh2vjE4yUsBq80l4= -github.com/grafana/loki/pkg/push v0.0.0-20240514112848-a1b1eeb09583/go.mod h1:lJEF/Wh5MYlmBem6tOYAFObkLsuikfrEf8Iy9AdMPiQ= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grobie/gomemcache v0.0.0-20230213081705-239240bbc445 h1:FlKQKUYPZ5yDCN248M3R7x8yu2E3yEZ0H7aLomE4EoE= -github.com/grobie/gomemcache v0.0.0-20230213081705-239240bbc445/go.mod h1:L69/dBlPQlWkcnU76WgcppK5e4rrxzQdi6LhLnK/ytA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.0 h1:0IKlLyQ3Hs9nDaiK5cSHAGmcQEIC8l2Ts1u6x5Dfrqg= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.13.0/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= -github.com/hamba/avro/v2 v2.25.1 h1:t8cOyv0wkNAPF6/khArMtR0nK9HtGa+WKbp9q+KdFZQ= -github.com/hamba/avro/v2 v2.25.1/go.mod h1:I8glyswHnpED3Nlx2ZdUe+4LJnCOOyiCzLMno9i/Uu0= -github.com/hashicorp/consul/api v1.29.4 h1:P6slzxDLBOxUSj3fWo2o65VuKtbtOXFi7TSSgtXutuE= -github.com/hashicorp/consul/api v1.29.4/go.mod h1:HUlfw+l2Zy68ceJavv2zAyArl2fqhGWnMycyt56sBgg= -github.com/hashicorp/consul/proto-public v0.6.2 h1:+DA/3g/IiKlJZb88NBn0ZgXrxJp2NlvCZdEyl+qxvL0= -github.com/hashicorp/consul/proto-public v0.6.2/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg= -github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= -github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= -github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= -github.com/hashicorp/cronexpr v1.1.2/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= -github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= -github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= -github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= -github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= -github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= -github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= -github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= -github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= -github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= -github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3 h1:fgVfQ4AC1avVOnu2cfms8VAiD8lUq3vWI8mTocOXN/w= -github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3/go.mod h1:svtxn6QnrQ69P23VvIWMR34tg3vmwLz4UdUzm1dSCgE= -github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= -github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= -github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95 h1:S4qyfL2sEm5Budr4KVMyEniCy+PbS55651I/a+Kn/NQ= -github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95/go.mod h1:QiyDdbZLaJ/mZP4Zwc9g2QsfaEA4o7XvvgZegSci5/E= -github.com/hetznercloud/hcloud-go/v2 v2.10.2 h1:9gyTUPhfNbfbS40Spgij5mV5k37bOZgt8iHKCbfGs5I= -github.com/hetznercloud/hcloud-go/v2 v2.10.2/go.mod h1:xQ+8KhIS62W0D78Dpi57jsufWh844gUw1az5OUvaeq8= -github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= -github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.113 h1:odui9Ua0u1hPfpkutN/tGvtt0ms55I+gQqIdU8K1rlo= -github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.113/go.mod h1:JWz2ujO9X3oU5wb6kXp+DpR2UuDj2SldDbX8T0FSuhI= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= -github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= -github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/influxdb-client-go/v2 v2.14.0 h1:AjbBfJuq+QoaXNcrova8smSjwJdUHnwvfjMF71M1iI4= -github.com/influxdata/influxdb-client-go/v2 v2.14.0/go.mod h1:Ahpm3QXKMJslpXl3IftVLVezreAUtBOTZssDrjZEFHI= -github.com/influxdata/influxdb-observability/common v0.5.12 h1:4YwZ+vsodz6VfoiX+ZqVotmnyCa9vCCPksSBK/WLjBs= -github.com/influxdata/influxdb-observability/common v0.5.12/go.mod h1:u+CABnGO/F1IK51pDlZQroh4+igJNo695XrbLGDBhVc= -github.com/influxdata/influxdb-observability/influx2otel v0.5.12 h1:u0lNE3+63rILk4mtmCYsNyczH/1wEXnM+1aBzBe5akk= -github.com/influxdata/influxdb-observability/influx2otel v0.5.12/go.mod h1:bM407XIJYnrJYJ9Q3q2ytDSOyFhiYmGm0Sz1Qf48RPk= -github.com/influxdata/influxdb-observability/otel2influx v0.5.12 h1:t9gmVOOHbZyEAvIYSoO97Tde1KArVtiYdM0/0Dhmuio= -github.com/influxdata/influxdb-observability/otel2influx v0.5.12/go.mod h1:YGsb8xYfjHvcr2y0+Nj7kOHMTw7fWDbAA4g/qJKkvaU= -github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c h1:qSHzRbhzK8RdXOsAdfDgO49TtqC1oZ+acxPrkfTxcCs= -github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839 h1:W9WBk7wlPfJLvMCdtV4zPulc4uCPrlywQOmbFOhgQNU= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/line-protocol-corpus v0.0.0-20210519164801-ca6fa5da0184/go.mod h1:03nmhxzZ7Xk2pdG+lmMd7mHDfeVOYFyhOgwO61qWU98= -github.com/influxdata/line-protocol-corpus v0.0.0-20210922080147-aa28ccfb8937 h1:MHJNQ+p99hFATQm6ORoLmpUCF7ovjwEFshs/NHzAbig= -github.com/influxdata/line-protocol-corpus v0.0.0-20210922080147-aa28ccfb8937/go.mod h1:BKR9c0uHSmRgM/se9JhFHtTT7JTO67X23MtKMHtZcpo= -github.com/influxdata/line-protocol/v2 v2.0.0-20210312151457-c52fdecb625a/go.mod h1:6+9Xt5Sq1rWx+glMgxhcg2c0DUaehK+5TDcPZ76GypY= -github.com/influxdata/line-protocol/v2 v2.1.0/go.mod h1:QKw43hdUBg3GTk2iC3iyCxksNj7PX9aUSeYOYE/ceHY= -github.com/influxdata/line-protocol/v2 v2.2.1 h1:EAPkqJ9Km4uAxtMRgUubJyqAr6zgWM0dznKMLRauQRE= -github.com/influxdata/line-protocol/v2 v2.2.1/go.mod h1:DmB3Cnh+3oxmG6LOBIxce4oaL4CPj3OmMPgvauXh+tM= -github.com/ionos-cloud/sdk-go/v6 v6.1.11 h1:J/uRN4UWO3wCyGOeDdMKv8LWRzKu6UIkLEaes38Kzh8= -github.com/ionos-cloud/sdk-go/v6 v6.1.11/go.mod h1:EzEgRIDxBELvfoa/uBN0kOQaqovLjUWEB7iW4/Q+t4k= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.6.0 h1:SWJzexBzPL5jb0GEsrPMLIsi/3jOo7RHlzTjcAeDrPY= -github.com/jackc/pgx/v5 v5.6.0/go.mod h1:DNZ/vlrUnhWCoFGxHAG8U2ljioxukquj7utPDgtQdTw= -github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= -github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= -github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww= -github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= -github.com/jawher/mow.cli v1.0.4/go.mod h1:5hQj2V8g+qYmLUVWqu4Wuja1pI57M83EChYLVZ0sMKk= -github.com/jawher/mow.cli v1.2.0/go.mod h1:y+pcA3jBAdo/GIZx/0rFjw/K2bVEODP9rfZOfaiq8Ko= -github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= -github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= -github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= -github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= -github.com/jcmturner/gofork v1.7.6 h1:QH0l3hzAU1tfT3rZCnW5zXl+orbkNMMRGJfdJjHVETg= -github.com/jcmturner/gofork v1.7.6/go.mod h1:1622LH6i/EZqLloHfE7IeZ0uEJwMSUyQ/nDd82IeqRo= -github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= -github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= -github.com/jcmturner/gokrb5/v8 v8.4.4 h1:x1Sv4HaTpepFkXbt2IkL29DXRf8sOfZXo8eRKh687T8= -github.com/jcmturner/gokrb5/v8 v8.4.4/go.mod h1:1btQEpgT6k+unzCwX1KdWMEwPPkkgBtP+F6aCACiMrs= -github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= -github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= -github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= -github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 h1:rp+c0RAYOWj8l6qbCUTSiRLG/iKnW3K3/QfPPuSsBt4= -github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= -github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA= -github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= -github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI= -github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= -github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM= -github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= -github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00= -github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= -github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= -github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= -github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= -github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is= -github.com/lestrrat-go/strftime v1.1.0 h1:gMESpZy44/4pXLO/m+sL0yBd1W6LjgjrrD4a68Gapyg= -github.com/lestrrat-go/strftime v1.1.0/go.mod h1:uzeIB52CeUJenCo1syghlugshMysrqUT51HlxphXVeI= -github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= -github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lightstep/go-expohisto v1.0.0 h1:UPtTS1rGdtehbbAF7o/dhkWLTDI73UifG8LbfQI7cA4= -github.com/lightstep/go-expohisto v1.0.0/go.mod h1:xDXD0++Mu2FOaItXtdDfksfgxfV0z1TMPa+e/EUd0cs= -github.com/linkedin/goavro/v2 v2.13.0 h1:L8eI8GcuciwUkt41Ej62joSZS4kKaYIUdze+6for9NU= -github.com/linkedin/goavro/v2 v2.13.0/go.mod h1:KXx+erlq+RPlGSPmLF7xGo6SAbh8sCQ53x064+ioxhk= -github.com/linode/linodego v1.37.0 h1:B/2Spzv9jYXzKA+p+GD8fVCNJ7Wuw6P91ZDD9eCkkso= -github.com/linode/linodego v1.37.0/go.mod h1:L7GXKFD3PoN2xSEtFc04wIXP5WK65O10jYQx0PQISWQ= -github.com/logicmonitor/lm-data-sdk-go v1.3.2 h1:sgDRufUGd/EHQcKlip3Ak5km2Y6HfuwFGROinCSe+bI= -github.com/logicmonitor/lm-data-sdk-go v1.3.2/go.mod h1:Hp/eMI2wMmpUX0MP/ZIpx+4MUpwFmkPRkeEAXb+W+vk= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/lufia/plan9stats v0.0.0-20240408141607-282e7b5d6b74 h1:1KuuSOy4ZNgW0KA2oYIngXVFhQcXxhLqCVK7cBcldkk= -github.com/lufia/plan9stats v0.0.0-20240408141607-282e7b5d6b74/go.mod h1:ilwx/Dta8jXAgpFYFvSWEMwxmbWXyiUHkd5FwyKhb5k= -github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= -github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= -github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= -github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= -github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= -github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-ieproxy v0.0.1 h1:qiyop7gCflfhwCzGyeT0gro3sF9AIg9HU98JORTkqfI= -github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= -github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/maxatome/go-testdeep v1.12.0 h1:Ql7Go8Tg0C1D/uMMX59LAoYK7LffeJQ6X2T04nTH68g= -github.com/maxatome/go-testdeep v1.12.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwUBUAfUNvrclaNM= -github.com/maxmind/MaxMind-DB v0.0.0-20240605211347-880f6b4b5eb6 h1:q3FNO1NzvowWXqFEam6FwbsgGeTXBL5FOxjMT45x2Ls= -github.com/maxmind/MaxMind-DB v0.0.0-20240605211347-880f6b4b5eb6/go.mod h1:8uyvr1CxDqu0x6NrZZ7CAs6nR0G/wSY8K+Q7uQlNwK4= -github.com/maxmind/mmdbwriter v1.0.0 h1:bieL4P6yaYaHvbtLSwnKtEvScUKKD6jcKaLiTM3WSMw= -github.com/maxmind/mmdbwriter v1.0.0/go.mod h1:noBMCUtyN5PUQ4H8ikkOvGSHhzhLok51fON2hcrpKj8= -github.com/microsoft/ApplicationInsights-Go v0.4.4 h1:G4+H9WNs6ygSCe6sUyxRc2U81TI5Es90b2t/MwX5KqY= -github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= -github.com/microsoft/go-mssqldb v1.7.2 h1:CHkFJiObW7ItKTJfHo1QX7QBBD1iV+mn1eOyRP3b/PA= -github.com/microsoft/go-mssqldb v1.7.2/go.mod h1:kOvZKUdrhhFQmxLZqbwUV0rHkNkZpthMITIb2Ko1IoA= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.61 h1:nLxbwF3XxhwVSm8g9Dghm9MHPaUZuqhPiGL+675ZmEs= -github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ= -github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= -github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible h1:aKW/4cBs+yK6gpqU3K/oIwk9Q/XICqd3zOX/UFuvqmk= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= -github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= -github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= -github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= -github.com/mitchellh/hashstructure v1.1.0 h1:P6P1hdjqAAknpY/M1CGipelZgp+4y9ja9kmUZPXP+H0= -github.com/mitchellh/hashstructure v1.1.0/go.mod h1:xUDAozZz0Wmdiufv0uyhnHkUTN6/6d8ulp4AwfLKrmA= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE= -github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= -github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= -github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= -github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/mountinfo v0.7.1 h1:/tTvQaSJRr2FshkhXiIpux6fQ2Zvc4j7tAhMTStAG2g= -github.com/moby/sys/mountinfo v0.7.1/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= -github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= -github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= -github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= -github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU= -github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= -github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= -github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= -github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= -github.com/mongodb-forks/digest v1.1.0 h1:7eUdsR1BtqLv0mdNm4OXs6ddWvR4X2/OsLwdKksrOoc= -github.com/mongodb-forks/digest v1.1.0/go.mod h1:rb+EX8zotClD5Dj4NdgxnJXG9nwrlx3NWKJ8xttz1Dg= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= -github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= -github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= -github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/mrunalp/fileutils v0.5.1 h1:F+S7ZlNKnrwHfSwdlgNSkKo67ReVf8o9fel6C3dkm/Q= -github.com/mrunalp/fileutils v0.5.1/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= -github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= -github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/nginxinc/nginx-prometheus-exporter v0.11.0 h1:21xjnqNgxtni2jDgAQ90bl15uDnrTreO9sIlu1YsX/U= -github.com/nginxinc/nginx-prometheus-exporter v0.11.0/go.mod h1:GdyHnWAb8q8OW1Pssrrqbcqra0SH0Vn6UXICMmyWkw8= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= -github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= -github.com/oapi-codegen/runtime v1.0.0 h1:P4rqFX5fMFWqRzY9M/3YF9+aPSPPB06IzP2P7oOxrWo= -github.com/oapi-codegen/runtime v1.0.0/go.mod h1:LmCUMQuPB4M/nLXilQXhHw+BLZdDb18B34OO356yJ/A= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU= -github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= -github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= -github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= -github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= -github.com/open-telemetry/opamp-go v0.15.0 h1:X2TWhEsGQ8GP7Uos3Ic9v/1aFUqoECZXKS7xAF5HqsA= -github.com/open-telemetry/opamp-go v0.15.0/go.mod h1:QyPeN56JXlcZt5yG5RMdZ50Ju+zMFs1Ihy/hwHyF8Oo= -github.com/open-telemetry/otel-arrow v0.26.0 h1:zizyFFtYfVzkjXGtY5iFSR5ognddzwJlD8fGPsVgCLo= -github.com/open-telemetry/otel-arrow v0.26.0/go.mod h1:QGueLcxK3nVjRnVCevyyeCEnI2YkFqgT/TWgw58eVy4= -github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= -github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= -github.com/opencontainers/runc v1.1.14 h1:rgSuzbmgz5DUJjeSnw337TxDbRuqjs6iqQck/2weR6w= -github.com/opencontainers/runc v1.1.14/go.mod h1:E4C2z+7BxR7GHXp0hAY53mek+x49X1LjPNeMTfRGvOA= -github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk= -github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/selinux v1.10.0 h1:rAiKF8hTcgLI3w0DHm6i0ylVVcOrlgR1kK99DRLDhyU= -github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= -github.com/opensearch-project/opensearch-go/v2 v2.3.0 h1:nQIEMr+A92CkhHrZgUhcfsrZjibvB3APXf2a1VwCmMQ= -github.com/opensearch-project/opensearch-go/v2 v2.3.0/go.mod h1:8LDr9FCgUTVoT+5ESjc2+iaZuldqE+23Iq0r1XeNue8= -github.com/openshift/api v0.0.0-20180801171038-322a19404e37 h1:05irGU4HK4IauGGDbsk+ZHrm1wOzMLYjMlfaiqMrBYc= -github.com/openshift/api v0.0.0-20180801171038-322a19404e37/go.mod h1:dh9o4Fs58gpFXGSYfnVxGR9PnV53I8TW84pQaJDdGiY= -github.com/openshift/api v0.0.0-20210521075222-e273a339932a/go.mod h1:izBmoXbUu3z5kUa4FjZhvekTsyzIWiOoaIgJiZBBMQs= -github.com/openshift/build-machinery-go v0.0.0-20210423112049-9415d7ebd33e/go.mod h1:b1BuldmJlbA/xYtdZvKi+7j5YGB44qJUJDZ9zwiNCfE= -github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 h1:ZHRIMCFIJN1p9LsJt4HQ+akDrys4PrYnXzOWI5LK03I= -github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142/go.mod h1:fjS8r9mqDVsPb5td3NehsNOAWa4uiFkYEfVZioQ2gH0= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= -github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= -github.com/oschwald/geoip2-golang v1.11.0 h1:hNENhCn1Uyzhf9PTmquXENiWS6AlxAEnBII6r8krA3w= -github.com/oschwald/geoip2-golang v1.11.0/go.mod h1:P9zG+54KPEFOliZ29i7SeYZ/GM6tfEL+rgSn03hYuUo= -github.com/oschwald/maxminddb-golang v1.13.0 h1:R8xBorY71s84yO06NgTmQvqvTvlS/bnYZrrWX1MElnU= -github.com/oschwald/maxminddb-golang v1.13.0/go.mod h1:BU0z8BfFVhi1LQaonTwwGQlsHUEu9pWNdMfmq4ztm0o= -github.com/outcaste-io/ristretto v0.2.1 h1:KCItuNIGJZcursqHr3ghO7fc5ddZLEHspL9UR0cQM64= -github.com/outcaste-io/ristretto v0.2.1/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= -github.com/ovh/go-ovh v1.6.0 h1:ixLOwxQdzYDx296sXcgS35TOPEahJkpjMGtzPadCjQI= -github.com/ovh/go-ovh v1.6.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC7c= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= -github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= -github.com/paulmach/orb v0.11.1 h1:3koVegMC4X/WeiXYz9iswopaTwMem53NzTJuTF20JzU= -github.com/paulmach/orb v0.11.1/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU= -github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY= -github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= -github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= -github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= -github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= -github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= -github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= -github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= -github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= -github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= -github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo= -github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= -github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= -github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -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-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -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/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc= -github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= -github.com/prometheus-community/windows_exporter v0.27.2 h1:/tdRTouPMVsC4qt8+s9NOPEm7L/9qdDxmasiETlx+Wk= -github.com/prometheus-community/windows_exporter v0.27.2/go.mod h1:8+T6hfv71nvgVIzguouXkIGoa15ni+uXHHULBOA2bZo= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.4.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= -github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/prometheus/prometheus v0.54.1 h1:vKuwQNjnYN2/mDoWfHXDhAsz/68q/dQDb+YbcEqU7MQ= -github.com/prometheus/prometheus v0.54.1/go.mod h1:xlLByHhk2g3ycakQGrMaU8K7OySZx98BzeCR99991NY= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rabbitmq/amqp091-go v1.10.0 h1:STpn5XsHlHGcecLmMFCtg7mqq0RnD+zFr4uzukfVhBw= -github.com/rabbitmq/amqp091-go v1.10.0/go.mod h1:Hy4jKW5kQART1u+JkDTF9YYOQUHXqMuhrgxOEeS7G4o= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4= -github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= -github.com/relvacode/iso8601 v1.4.0 h1:GsInVSEJfkYuirYFxa80nMLbH2aydgZpIf52gYZXUJs= -github.com/relvacode/iso8601 v1.4.0/go.mod h1:FlNp+jz+TXpyRqgmM7tnzHHzBnz776kmAH2h3sZCn0I= -github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= -github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= -github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= -github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= -github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM= -github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 h1:BkTk4gynLjguayxrYxZoMZjBnAOh7ntQvUkOFmkMqPU= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= -github.com/scalyr/dataset-go v0.20.0 h1:VZJew4W/ufnb67yZSpWQKI40U4XpA+w+cDM+mk0qS2E= -github.com/scalyr/dataset-go v0.20.0/go.mod h1:k/A+KhdEyffuTGb1n+jSWg8J5ikV9iYVKejVGjGXXoA= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= -github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= -github.com/secure-systems-lab/go-securesystemslib v0.7.0 h1:OwvJ5jQf9LnIAS83waAjPbcMsODrTQUpJ02eNLUoxBg= -github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xeGtfIqFy7Do03K4cdCY0A/GlJLDKLHI= -github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= -github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= -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/v3 v3.22.12/go.mod h1:Xd7P1kwZcp5VW52+9XsirIKd/BROzbb2wdX3Kqlz9uI= -github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= -github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -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.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= -github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= -github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 h1:32k2QLgsKhcEs55q4REPKyIadvid5FPy2+VMgvbmKJ0= -github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3/go.mod h1:gJrXWi7wSGXfiC7+VheQaz+ypdCt5SmZNL+BRxUe7y4= -github.com/signalfx/sapm-proto v0.14.0 h1:KWh3I5E4EkelB19aP1/54Ik8khSioC/RVRW/riOfRGg= -github.com/signalfx/sapm-proto v0.14.0/go.mod h1:Km6PskZh966cqNoUn3AmRyGRix5VfwnxVBvn2vjRC9U= -github.com/sijms/go-ora/v2 v2.8.19 h1:7LoKZatDYGi18mkpQTR/gQvG9yOdtc7hPAex96Bqisc= -github.com/sijms/go-ora/v2 v2.8.19/go.mod h1:EHxlY6x7y9HAsdfumurRfTd+v8NrEOTR3Xl4FWlH6xk= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/snowflakedb/gosnowflake v1.11.1 h1:E91s8vBOSroaSTLsyjO4QPkEuzGmZcCxEFQLg214mvk= -github.com/snowflakedb/gosnowflake v1.11.1/go.mod h1:WFe+8mpsapDaQjHX6BqJBKtfQCGlGD3lHKeDsKfpx2A= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/solarwindscloud/apm-proto v1.0.7 h1:7vJWXKjMwCv4Ej1niRQr8nGKLBoBtDXLMM9p5v7mW+I= -github.com/solarwindscloud/apm-proto v1.0.7/go.mod h1:PIMzXc8HpB0ryT4Oci4pUz8F0m1X7Q/hVXkQE4jGv6Y= -github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= -github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= -github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= -github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w= -github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= -github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= -github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= -github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= -github.com/stormcat24/protodep v0.1.8 h1:FOycjjkjZiastf21aRoCjtoVdhsoBE8mZ0RvY6AHqFE= -github.com/stormcat24/protodep v0.1.8/go.mod h1:6OoSZD5GGomKfmH1LvfJxNIRvYhewFXH5+eNv8h4wOM= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= -github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.995 h1:I1l5kl6rdQYDLEk8DqWjZgwMh0+nYnqbwq7KS4bqi/s= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.995/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/testcontainers/testcontainers-go v0.33.0 h1:zJS9PfXYT5O0ZFXM2xxXfk4J5UMw/kRiISng037Gxdw= -github.com/testcontainers/testcontainers-go v0.33.0/go.mod h1:W80YpTa8D5C3Yy16icheD01UTDu+LmXIA2Keo+jWtT8= -github.com/tg123/go-htpasswd v1.2.2 h1:tmNccDsQ+wYsoRfiONzIhDm5OkVHQzN3w4FOBAlN6BY= -github.com/tg123/go-htpasswd v1.2.2/go.mod h1:FcIrK0J+6zptgVwK1JDlqyajW/1B4PtuJ/FLWl7nx8A= -github.com/tidwall/gjson v1.10.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.17.3 h1:bwWLZU7icoKRG+C+0PNwIKC6FCJO/Q3p2pZvuP0jN94= -github.com/tidwall/gjson v1.17.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/tinylru v1.1.0 h1:XY6IUfzVTU9rpwdhKUF6nQdChgCdGjkMfLzbWyiau6I= -github.com/tidwall/tinylru v1.1.0/go.mod h1:3+bX+TJ2baOLMWTnlyNWHh4QMnFyARg2TLTQ6OFbzw8= -github.com/tidwall/wal v1.1.7 h1:emc1TRjIVsdKKSnpwGBAcsAGg0767SvUk8+ygx7Bb+4= -github.com/tidwall/wal v1.1.7/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= -github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY= -github.com/tinylib/msgp v1.2.0/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro= -github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk= -github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pvk= -github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho= -github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE= -github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= -github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZb78yU= -github.com/tklauser/go-sysconf v0.3.14/go.mod h1:1ym4lWMLUOhuBOPGtRcJm7tEGX4SCYNEEEtghGG/8uY= -github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= -github.com/tklauser/numcpus v0.8.0 h1:Mx4Wwe/FjZLeQsK/6kt2EOepwwSl7SmJrK5bV/dXYgY= -github.com/tklauser/numcpus v0.8.0/go.mod h1:ZJZlAY+dmR4eut8epnzf0u/VwodKmryxR8txiloSqBE= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20200122045848-3419fae592fc/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZOl0DCe3eVMLPOQzJxgZpfdHHeauNTM= -github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ= -github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8= -github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww= -github.com/vincent-petithory/dataurl v1.0.0 h1:cXw+kPto8NLuJtlMsI152irrVw9fRDX8AbShPRpg2CI= -github.com/vincent-petithory/dataurl v1.0.0/go.mod h1:FHafX5vmDzyP+1CQATJn7WFKc9CvnvxyvZy6I1MrG/U= -github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852 h1:cPXZWzzG0NllBLdjWoD1nDfaqu98YMv+OneaKc8sPOA= -github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns= -github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/vmihailenco/msgpack/v4 v4.3.13 h1:A2wsiTbvp63ilDaWmsk2wjx6xZdxQOvpiNlKBGKKXKI= -github.com/vmihailenco/msgpack/v4 v4.3.13/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= -github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= -github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= -github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= -github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/vmware/go-vmware-nsxt v0.0.0-20230223012718-d31b8a1ca05e h1:Vu41Q0Pv3yMdd+tcDW6QeEUIK2L+9ZrPrq8NAMrKSLc= -github.com/vmware/go-vmware-nsxt v0.0.0-20230223012718-d31b8a1ca05e/go.mod h1:aRq5pxwgdJpAuP97SCjX1+Db32z/b0dggQ07FDF+fqE= -github.com/vmware/govmomi v0.42.0 h1:MbvAlVfjNBE1mHMaQ7yOSop1KLB0/93x6VAGuCtjqtI= -github.com/vmware/govmomi v0.42.0/go.mod h1:1H5LWwsBif8HKZqbFp0FdoKTHyJE4FzL6ACequMKYQg= -github.com/vultr/govultr/v2 v2.17.2 h1:gej/rwr91Puc/tgh+j33p/BLR16UrIPnSr+AIwYWZQs= -github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= -github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= -github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= -github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= -github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= -github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= -github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= -github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= -github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= -github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= -github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= -github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= -github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= -github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= -github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -github.com/zorkian/go-datadog-api v2.30.0+incompatible h1:R4ryGocppDqZZbnNc5EDR8xGWF/z/MxzWnqTUijDQes= -github.com/zorkian/go-datadog-api v2.30.0+incompatible/go.mod h1:PkXwHX9CUQa/FpB9ZwAD45N1uhCW4MT/Wj7m36PbKss= -go.einride.tech/aip v0.67.1 h1:d/4TW92OxXBngkSOwWS2CH5rez869KpKMaN44mdxkFI= -go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= -go.elastic.co/apm/module/apmelasticsearch/v2 v2.6.0 h1:ukMcwyMaDXsS1dRK2qRYXT2AsfwaUy74TOOYCqkWJow= -go.elastic.co/apm/module/apmelasticsearch/v2 v2.6.0/go.mod h1:YpfiTTrqX5LB/CKBwX89oDCBAxuLJTFv40gcfxJyehM= -go.elastic.co/apm/module/apmhttp/v2 v2.6.0 h1:s8UeNFQmVBCNd4eoz7KDD9rEFhQC0HeUFXz3z9gpAmQ= -go.elastic.co/apm/module/apmhttp/v2 v2.6.0/go.mod h1:D0GLppLuI0Ddwvtl595GUxRgn6Z8L5KaDFVMv2H3GK0= -go.elastic.co/apm/module/apmzap/v2 v2.6.0 h1:R/iVORzGu3F9uM43iEVHD0nwiRo59O0bIXdayKsgayQ= -go.elastic.co/apm/module/apmzap/v2 v2.6.0/go.mod h1:B3i/8xRkqLgi6zNuV+Bp7Pt4cutaOObvrVSa7wUTAPw= -go.elastic.co/apm/v2 v2.6.0 h1:VieBMLQFtXua2YxpYxaSdYGnmmxhLT46gosI5yErJgY= -go.elastic.co/apm/v2 v2.6.0/go.mod h1:33rOXgtHwbgZcDgi6I/GtCSMZQqgxkHC0IQT3gudKvo= -go.elastic.co/fastjson v1.3.0 h1:hJO3OsYIhiqiT4Fgu0ZxAECnKASbwgiS+LMW5oCopKs= -go.elastic.co/fastjson v1.3.0/go.mod h1:K9vDh7O0ODsVKV2B5e2XYLY277QZaCbB3tS1SnARvko= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= -go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= -go.mongodb.org/atlas v0.37.0 h1:zQnO1o5+bVP9IotpAYpres4UjMD2F4nwNEFTZhNL4ck= -go.mongodb.org/atlas v0.37.0/go.mod h1:DJYtM+vsEpPEMSkQzJnFHrT0sP7ev6cseZc/GGjJYG8= -go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g= -go.mongodb.org/mongo-driver v1.12.0/go.mod h1:AZkxhPnFJUoH7kZlFkVKucV20K387miPfm7oimrSmK0= -go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8= -go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.109.0 h1:ULnMWuwcy4ix1oP5RFFRcmpEbaU5YabW6nWcLMQQRo0= -go.opentelemetry.io/collector v0.109.0/go.mod h1:gheyquSOc5E9Y+xsPmpA+PBrpPc+msVsIalY76/ZvnQ= -go.opentelemetry.io/collector/client v1.15.0 h1:SMUKTntljRmFvB8nCVf6KjbEQ/qm63wi+huDx+Bc/po= -go.opentelemetry.io/collector/client v1.15.0/go.mod h1:m0MdKbzRIVgyGu70qbJ6TwBmKtblk7cmPqspM45a5yY= -go.opentelemetry.io/collector/component v0.109.0 h1:AU6eubP1htO8Fvm86uWn66Kw0DMSFhgcRM2cZZTYfII= -go.opentelemetry.io/collector/component v0.109.0/go.mod h1:jRVFY86GY6JZ61SXvUN69n7CZoTjDTqWyNC+wJJvzOw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.109.0 h1:LiyJOvkv1lVUqBECvolifM2lsXFEgVXHcIw0MWRf/1I= -go.opentelemetry.io/collector/component/componentstatus v0.109.0/go.mod h1:TBx2Leggcw1c1tM+Gt/rDYbqN9Unr3fMxHh2TbxLizI= -go.opentelemetry.io/collector/config/configauth v0.109.0 h1:6I2g1dcXD7KCmzXWHaL09I6RSmiCER4b+UARYkmMw3U= -go.opentelemetry.io/collector/config/configauth v0.109.0/go.mod h1:i36T9K3m7pLSlqMFdy+npY7JxfxSg3wQc8bHNpykLLE= -go.opentelemetry.io/collector/config/configcompression v1.15.0 h1:HHzus/ahJW2dA6h4S4vs1MwlbOck27Ivk/L3o0V94UA= -go.opentelemetry.io/collector/config/configcompression v1.15.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.109.0 h1:6R2+zI1LqFarEnCL4k+1DCsFi+aVeUTbfFOQBk0JBh0= -go.opentelemetry.io/collector/config/confighttp v0.109.0/go.mod h1:fzvAO2nCnP9XRUiaCBh1AZ2whUf99iQTkEVFCyH+URk= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.15.0 h1:J1rmPR1WGro7BNCgni3o+VDoyB7ZqH2/SG1YK+6ujCw= -go.opentelemetry.io/collector/config/configopaque v1.15.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.15.0 h1:4ZUPrWWh4wiwdlGnss2lZDhvf1xkt8uwHEqmuqovMEs= -go.opentelemetry.io/collector/config/configretry v1.15.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.109.0 h1:ItbYw3tgFMU+TqGcDVEOqJLKbbOpfQg3AHD8b22ygl8= -go.opentelemetry.io/collector/config/configtelemetry v0.109.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.15.0 h1:imUIYDu6lo7juxxgpJhoMQ+LJRxqQzKvjOcWTo4u0IY= -go.opentelemetry.io/collector/config/configtls v1.15.0/go.mod h1:T3pOF5UemLzmYgY7QpiZuDRrihJ8lyXB0cDe6j1F1Ek= -go.opentelemetry.io/collector/config/internal v0.109.0 h1:uAlmO9Gu4Ff5wXXWWn+7XRZKEBjwGE8YdkdJxOlodns= -go.opentelemetry.io/collector/config/internal v0.109.0/go.mod h1:JJJGJTz1hILaaT+01FxbCFcDvPf2otXqMcWk/s2KvlA= -go.opentelemetry.io/collector/confmap v1.15.0 h1:KaNVG6fBJXNqEI+/MgZasH0+aShAU1yAkSYunk6xC4E= -go.opentelemetry.io/collector/confmap v1.15.0/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:wRzQdiOgNiP6lu7zf6LjUxDykHK7mV8jE1l8s4dWia4= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Rq3pzCddWlNtoeQsT2B0aMmLtmuDF5MvFBckwJMoiT0= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/connector/forwardconnector v0.108.2-0.20240909182537-32cff9f7f331 h1:K/e0Vws+YsNHn9gqt7ZZQYiLb8JoKixJ0t8ETHYKHfA= -go.opentelemetry.io/collector/connector/forwardconnector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3ORCwqp1iP4Ro2B3b1x9g6OPt8msfd1aRqDtsMpfvTI= -go.opentelemetry.io/collector/consumer v0.109.0 h1:fdXlJi5Rat/poHPiznM2mLiXjcv1gPy3fyqqeirri58= -go.opentelemetry.io/collector/consumer v0.109.0/go.mod h1:E7PZHnVe1DY9hYy37toNxr9/hnsO7+LmnsixW8akLQI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.109.0 h1:+WZ6MEWQRC6so3IRrW916XK58rI9NnrFHKW/P19jQvc= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.109.0/go.mod h1:spZ9Dn1MRMPDHHThdXZA5TrFhdOL1wsl0Dw45EBVoVo= -go.opentelemetry.io/collector/consumer/consumertest v0.109.0 h1:v4w9G2MXGJ/eabCmX1DvQYmxzdysC8UqIxa/BWz7ACo= -go.opentelemetry.io/collector/consumer/consumertest v0.109.0/go.mod h1:lECt0qOrx118wLJbGijtqNz855XfvJv0xx9GSoJ8qSE= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:q8LQW1V9uUbZFzDKD0JTH92H6VRIaFcx2y/ooT44WyA= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:8CPsp2ek4qlcnaJEM3g/YQ6/2kNIwqDwO/wOmAgYvO0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/exporter/nopexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:iyM2D7k+N3y7b5QDCBS880SN+ZpmpZBCgVjtQGsaMCc= -go.opentelemetry.io/collector/exporter/nopexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+K8C+u51jGR7gSe4nKYUSsN7LqHcgZgztda6y3qrBVY= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:krcA76OOIBEN1IcRieojMCH6EwKvTBWFPixGqHBpToQ= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:jc+4XrGLQ7Ce50A8m4l3JASBmH2pW7fgpKGn+SD1VjU= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:Gl+/0SxpML4ANDnWbeSSlcsMa1B7u/XPrR6zhas4JwI= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:cnccoz0R7TTSuWY61BPOJl0J7Th3yVZgEFPFUJ86a8M= -go.opentelemetry.io/collector/extension v0.109.0 h1:r/WkSCYGF1B/IpUgbrKTyJHcfn7+A5+mYfp5W7+B4U0= -go.opentelemetry.io/collector/extension v0.109.0/go.mod h1:WDE4fhiZnt2haxqSgF/2cqrr5H+QjgslN5tEnTBZuXc= -go.opentelemetry.io/collector/extension/auth v0.109.0 h1:yKUMCUG3IkjuOnHriNj0nqFU2DRdZn3Tvn9eqCI0eTg= -go.opentelemetry.io/collector/extension/auth v0.109.0/go.mod h1:wOIv49JhXIfol8CRmQvLve05ft3nZQUnTfcnuZKxdbo= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909212104-b18f7cd99909 h1:/QdMTfWnxd/VBixr6Hcy2xP69rQGS736Y7WwyttvvHY= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909212104-b18f7cd99909/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 h1:+5741SgE52SkqN4t2p8jYTvHzXwmioQFfn1A53qORtw= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:de4qi9Sr0cWsZapO3BzVPOzSPorBIGp9ZTfE0Y2+sto= -go.opentelemetry.io/collector/featuregate v1.15.0 h1:8KRWaZaE9hLlyMXnMTvnWtUJnzrBuTI0aLIvxqe8QP0= -go.opentelemetry.io/collector/featuregate v1.15.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 h1:qt3Ew48qyCQVMrpjCWkQu1N4RzghQUZIxV4X+TBs4ZE= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:iNMJ4W+R9LUqr8uyeEIthuOKVEQBMYS32ePBza3Ofbk= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.15.0 h1:q/T1sFpRKJnjDrUsHdJ6mq4uSqViR/f92yvGwDby/gY= -go.opentelemetry.io/collector/pdata v1.15.0/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.109.0 h1:5lobQKeHk8p4WC7KYbzL6ZqqX3eSizsdmp5vM8pQFBs= -go.opentelemetry.io/collector/pdata/pprofile v0.109.0/go.mod h1:lXIifCdtR5ewO17JAYTUsclMqRp6h6dCowoXHhGyw8Y= -go.opentelemetry.io/collector/pdata/testdata v0.109.0 h1:gvIqy6juvqFET/6zi+zUOH1KZY/vtEDZW55u7gJ/hEo= -go.opentelemetry.io/collector/pdata/testdata v0.109.0/go.mod h1:zRttU/F5QMQ6ZXBMXCoSVG3EORTZLTK+UUS0VoMoT44= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:DSgsLqj0L0m7rQdzWsC/fvE4qvzJSggqmaur0wGucZ4= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:CSvxn55s4JFEEJ0UoYoXbj8XoBFl7Oj26bAE9kAcNTE= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:FgbrQxhUTqcizMI+3s91kPONM1WX+JOFCL9ghzWKe2c= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2VxvUC07PujwiYY1KjJjgEFJ0kiY2pAs+slZbtct2t8= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.109.0 h1:DTOM7xaDl7FUGQIjvjmWZn03JUE+aG4mJzWWfb7S8zw= -go.opentelemetry.io/collector/receiver v0.109.0/go.mod h1:jeiCHaf3PE6aXoZfHF5Uexg7aztu+Vkn9LVw0YDKm6g= -go.opentelemetry.io/collector/receiver/nopreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:lR2YZmOIm759T9XTR+olFyfzCTVEvn1UNOMZONf+Nfo= -go.opentelemetry.io/collector/receiver/nopreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:NX76lIZJj1UlEmmc1KLEeDe5fxakCKVi+SrXM8M5gCQ= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:MMCQJrhmZU1QEzWWodPgsHg/hJ+fXwTb9jc4nYTP6aY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0U6x1xcDuvHEgoH/2TzEmbsG47VwpK2FPD0L93DTxFQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.109.0 h1:KKzdIixE/XJWvqdCcNWAOtsEhNKu4waLKJjawjhnPLw= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.109.0/go.mod h1:FKU+RFkSLWWB3tUUB6vifapZdFp1FoqVYVQ22jpHc8w= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= -go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= -go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= -go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= -go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= -go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= -go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= -go.uber.org/fx v1.18.2 h1:bUNI6oShr+OVFQeU8cDNbnN7VFsu+SsjHzUF51V/GAU= -go.uber.org/fx v1.18.2/go.mod h1:g0V1KMQ66zIRk8bLu3Ea5Jt2w/cHlOIp4wdRsgh0JaY= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= -go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.14.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go4.org/netipx v0.0.0-20230824141953-6213f710f925 h1:eeQDDVKFkx0g4Hyy8pHgmZaK0EqB4SD6rvKbUdN3ziQ= -go4.org/netipx v0.0.0-20230824141953-6213f710f925/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI= -golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= -golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= -golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= -golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190529164535-6a60838ec259/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= -golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210112230658-8b4aab62c064/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= -golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 h1:LLhsEBxRTBLuKlQxFBYUOU8xyFgXv6cOTp2HASDlsDk= -golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= -gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= -gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= -gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= -google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= -google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= -google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= -google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= -google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= -google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= -google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= -google.golang.org/api v0.195.0 h1:Ude4N8FvTKnnQJHU48RFI40jOBgIrL8Zqr3/QeST6yU= -google.golang.org/api v0.195.0/go.mod h1:DOGRWuv3P8TU8Lnz7uQc4hyNqrBpMtD9ppW3wBJurgc= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= -google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= -google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= -google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= -google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= -google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= -google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= -google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= -google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= -google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c h1:TYOEhrQMrNDTAd2rX9m+WgGr8Ku6YNuj1D7OX6rWSok= -google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c/go.mod h1:2rC5OendXvZ8wGEo/cSLheztrZDZaSoHanUcd1xtZnw= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= -google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/grpc v1.66.1 h1:hO5qAXR19+/Z44hmvIM4dQFMSYX9XcWsByfoxutBpAM= -google.golang.org/grpc v1.66.1/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -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.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -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-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= -gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= -gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/zorkian/go-datadog-api.v2 v2.30.0 h1:umQdVO0Ytx+kYadhuJNjFtDgIsIEBnKrOTvNuu8ClKI= -gopkg.in/zorkian/go-datadog-api.v2 v2.30.0/go.mod h1:kx0CSMRpzEZfx/nFH62GLU4stZjparh/BRpM89t4XCQ= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.2.0 h1:I0DwBVMGAx26dttAj1BtJLAkVGncrkkUXfJLC4Flt/I= -gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= -howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= -howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM= -howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= -k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= -k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= -k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= -k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= -k8s.io/kubelet v0.31.0 h1:IlfkBy7QTojGEm97GuVGhtli0HL/Pgu4AdayiF76yWo= -k8s.io/kubelet v0.31.0/go.mod h1:s+OnqnfdIh14PFpUb7NgzM53WSYXcczA3w/1qSzsRc8= -k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= -k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= -modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= -modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= -modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= -modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= -modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= -modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= -modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= -modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= -modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= -modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= -modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= -modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= -modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= -modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= -modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= -modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= -modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= -modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= -modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q= -sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= -skywalking.apache.org/repo/goapi v0.0.0-20240104145220-ba7202308dd4 h1:3YIFmsshgsU6FzHgnkG9Z24CkXkgoexBN5O0aSzK79g= -skywalking.apache.org/repo/goapi v0.0.0-20240104145220-ba7202308dd4/go.mod h1:oD2dxcDAHVIt95Ee7kJHgZ5f64QNhrqTjQYARwfafc4= diff --git a/cmd/otelcontribcol/main.go b/cmd/otelcontribcol/main.go deleted file mode 100644 index e2ce5341a21a..000000000000 --- a/cmd/otelcontribcol/main.go +++ /dev/null @@ -1,59 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -// Program otelcontribcol is an OpenTelemetry Collector binary. -package main - -import ( - "log" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/confmap" - envprovider "go.opentelemetry.io/collector/confmap/provider/envprovider" - fileprovider "go.opentelemetry.io/collector/confmap/provider/fileprovider" - httpprovider "go.opentelemetry.io/collector/confmap/provider/httpprovider" - httpsprovider "go.opentelemetry.io/collector/confmap/provider/httpsprovider" - yamlprovider "go.opentelemetry.io/collector/confmap/provider/yamlprovider" - "go.opentelemetry.io/collector/otelcol" - - s3provider "github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/s3provider" - secretsmanagerprovider "github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/secretsmanagerprovider" -) - -func main() { - info := component.BuildInfo{ - Command: "otelcontribcol", - Description: "Local OpenTelemetry Collector Contrib binary, testing only.", - Version: "0.108.1-dev", - } - - set := otelcol.CollectorSettings{ - BuildInfo: info, - Factories: components, - ConfigProviderSettings: otelcol.ConfigProviderSettings{ - ResolverSettings: confmap.ResolverSettings{ - ProviderFactories: []confmap.ProviderFactory{ - envprovider.NewFactory(), - fileprovider.NewFactory(), - httpprovider.NewFactory(), - httpsprovider.NewFactory(), - yamlprovider.NewFactory(), - s3provider.NewFactory(), - secretsmanagerprovider.NewFactory(), - }, - }, - }, - } - - if err := run(set); err != nil { - log.Fatal(err) - } -} - -func runInteractive(params otelcol.CollectorSettings) error { - cmd := otelcol.NewCommand(params) - if err := cmd.Execute(); err != nil { - log.Fatalf("collector server run finished with error: %v", err) - } - - return nil -} diff --git a/cmd/otelcontribcol/main_others.go b/cmd/otelcontribcol/main_others.go deleted file mode 100644 index 3735aecb5867..000000000000 --- a/cmd/otelcontribcol/main_others.go +++ /dev/null @@ -1,11 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -//go:build !windows - -package main - -import "go.opentelemetry.io/collector/otelcol" - -func run(params otelcol.CollectorSettings) error { - return runInteractive(params) -} diff --git a/cmd/otelcontribcol/main_windows.go b/cmd/otelcontribcol/main_windows.go deleted file mode 100644 index bb68124a52c9..000000000000 --- a/cmd/otelcontribcol/main_windows.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -//go:build windows - -package main - -import ( - "errors" - "fmt" - - "go.opentelemetry.io/collector/otelcol" - "golang.org/x/sys/windows" - "golang.org/x/sys/windows/svc" -) - -func run(params otelcol.CollectorSettings) error { - // No need to supply service name when startup is invoked through - // the Service Control Manager directly. - if err := svc.Run("", otelcol.NewSvcHandler(params)); err != nil { - if errors.Is(err, windows.ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) { - // Per https://learn.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-startservicectrldispatchera#return-value - // this means that the process is not running as a service, so run interactively. - return runInteractive(params) - } - - return fmt.Errorf("failed to start collector server: %w", err) - } - - return nil -} diff --git a/cmd/otelcontribcol/metadata.yaml b/cmd/otelcontribcol/metadata.yaml index 0b1f42508bf8..8ae3a0e69a4b 100644 --- a/cmd/otelcontribcol/metadata.yaml +++ b/cmd/otelcontribcol/metadata.yaml @@ -3,4 +3,4 @@ type: otelcontribcol status: class: cmd codeowners: - active: [] \ No newline at end of file + active: [] diff --git a/cmd/otelcontribcol/receivers_test.go b/cmd/otelcontribcol/receivers_test.go deleted file mode 100644 index 515fe07e97a7..000000000000 --- a/cmd/otelcontribcol/receivers_test.go +++ /dev/null @@ -1,586 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package main - -import ( - "context" - "errors" - "path/filepath" - "runtime" - "testing" - - promconfig "github.com/prometheus/prometheus/config" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/consumer/consumertest" - "go.opentelemetry.io/collector/receiver" - "go.opentelemetry.io/collector/receiver/receivertest" - - tcpop "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/input/tcp" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscloudwatchreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureblobreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/namedpipereceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otlpjsonfilereceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/snmpreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/webhookeventreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver" -) - -func TestDefaultReceivers(t *testing.T) { - allFactories, err := components() - assert.NoError(t, err) - - rcvrFactories := allFactories.Receivers - - tests := []struct { - getConfigFn getReceiverConfigFn - receiver component.Type - skipLifecycle bool - }{ - { - receiver: "active_directory_ds", - skipLifecycle: true, // Requires a running windows service - }, - { - receiver: "aerospike", - }, - { - receiver: "apache", - }, - { - receiver: "apachespark", - }, - { - receiver: "awscloudwatch", - getConfigFn: func() component.Config { - cfg := rcvrFactories["awscloudwatch"].CreateDefaultConfig().(*awscloudwatchreceiver.Config) - cfg.Region = "us-west-2" - cfg.Logs.Groups = awscloudwatchreceiver.GroupConfig{AutodiscoverConfig: nil} - return cfg - }, - }, - { - receiver: "awscontainerinsightreceiver", - // TODO: skipped since it will only function in a container environment with procfs in expected location. - skipLifecycle: true, - }, - { - receiver: "awsecscontainermetrics", - skipLifecycle: true, // Requires container metaendpoint to be running - }, - { - receiver: "awsfirehose", - }, - { - receiver: "awsxray", - skipLifecycle: true, // Requires AWS endpoint to check identity to run - }, - { - receiver: "azureblob", - getConfigFn: func() component.Config { - cfg := rcvrFactories["azureblob"].CreateDefaultConfig().(*azureblobreceiver.Config) - cfg.ConnectionString = "DefaultEndpointsProtocol=http;AccountName=accountName;AccountKey=accountKey==;BlobEndpoint=test" - cfg.EventHub.EndPoint = "DefaultEndpointsProtocol=http;SharedAccessKeyName=secret;SharedAccessKey=secret;Endpoint=test.test" - return cfg - }, - skipLifecycle: true, // Requires Azure event hub to run - }, - { - receiver: "azureeventhub", - getConfigFn: func() component.Config { - cfg := rcvrFactories["azureeventhub"].CreateDefaultConfig().(*azureeventhubreceiver.Config) - cfg.Connection = "Endpoint=sb://example.com/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=superSecret1234=;EntityPath=hubName" - return cfg - }, - skipLifecycle: true, // Requires Azure event hub to run - }, - { - receiver: "azuremonitor", - getConfigFn: func() component.Config { - cfg := rcvrFactories["azuremonitor"].CreateDefaultConfig().(*azuremonitorreceiver.Config) - cfg.TenantID = "tenant_id" - cfg.SubscriptionID = "subscription_id" - cfg.ClientID = "client_id" - cfg.ClientSecret = "client_secret" - return cfg - }, - skipLifecycle: true, // Requires Azure event hub to run - }, - { - receiver: "bigip", - }, - { - receiver: "carbon", - getConfigFn: func() component.Config { - cfg := rcvrFactories["carbon"].CreateDefaultConfig().(*carbonreceiver.Config) - cfg.Endpoint = "0.0.0.0:0" - return cfg - }, - skipLifecycle: true, // Panics after test have completed, requires a wait group - }, - { - receiver: "cloudflare", - skipLifecycle: true, - }, - { - receiver: "cloudfoundry", - skipLifecycle: true, // Requires UAA (auth) endpoint to run - }, - { - receiver: "chrony", - getConfigFn: func() component.Config { - cfg := rcvrFactories["chrony"].CreateDefaultConfig().(*chronyreceiver.Config) - cfg.Endpoint = "udp://localhost:323" - return cfg - }, - }, - { - receiver: "collectd", - }, - { - receiver: "couchdb", - }, - { - receiver: "datadog", - getConfigFn: func() component.Config { - cfg := rcvrFactories["datadog"].CreateDefaultConfig().(*datadogreceiver.Config) - cfg.Endpoint = "localhost:0" // Using a randomly assigned address - return cfg - }, - }, - { - receiver: "docker_stats", - skipLifecycle: true, - }, - { - receiver: "elasticsearch", - }, - { - receiver: "expvar", - }, - { - receiver: "filelog", - getConfigFn: func() component.Config { - cfg := rcvrFactories["filelog"].CreateDefaultConfig().(*filelogreceiver.FileLogConfig) - cfg.InputConfig.Include = []string{filepath.Join(t.TempDir(), "*")} - return cfg - }, - }, - { - receiver: "file", - skipLifecycle: true, // Requires an existing JSONL file - }, - { - receiver: "filestats", - }, - { - receiver: "flinkmetrics", - }, - { - receiver: "fluentforward", - }, - { - receiver: "googlecloudspanner", - }, - { - receiver: "googlecloudpubsub", - skipLifecycle: true, // Requires a pubsub subscription - }, - { - receiver: "haproxy", - }, - { - receiver: "hostmetrics", - }, - { - receiver: "httpcheck", - }, - { - receiver: "influxdb", - }, - { - receiver: "iis", - skipLifecycle: true, // Requires a running windows process - }, - { - receiver: "jaeger", - }, - { - receiver: "jmx", - skipLifecycle: true, // Requires a running instance with JMX - getConfigFn: func() component.Config { - cfg := jmxreceiver.NewFactory().CreateDefaultConfig().(*jmxreceiver.Config) - cfg.Endpoint = "localhost:1234" - cfg.TargetSystem = "jvm" - return cfg - }, - }, - { - receiver: "journald", - skipLifecycle: runtime.GOOS != "linux", - }, - { - receiver: "k8s_events", - skipLifecycle: true, // need a valid Kubernetes host and port - }, - { - receiver: "k8sobjects", - skipLifecycle: true, // need a valid Kubernetes host and port - }, - { - receiver: "kafka", - skipLifecycle: true, // TODO: It needs access to internals to successful start. - }, - { - receiver: "kafkametrics", - }, - { - receiver: "k8s_cluster", - skipLifecycle: true, // Requires access to the k8s host and port in order to run - }, - { - receiver: "kubeletstats", - skipLifecycle: true, // Requires access to certificates to auth against kubelet - }, - { - receiver: "loki", - }, - { - receiver: "memcached", - }, - { - receiver: "mongodb", - skipLifecycle: true, // Causes tests to timeout - }, - { - receiver: "mongodbatlas", - getConfigFn: func() component.Config { - cfg := rcvrFactories["mongodbatlas"].CreateDefaultConfig().(*mongodbatlasreceiver.Config) - cfg.Logs.Enabled = true - return cfg - }, - }, - { - receiver: "mysql", - }, - { - receiver: "nginx", - }, - { - receiver: "nsxt", - }, - { - receiver: "opencensus", - skipLifecycle: true, // TODO: Usage of CMux doesn't allow proper shutdown. - }, - { - receiver: "oracledb", - }, - { - receiver: "otlp", - }, - { - receiver: "otlpjsonfile", - getConfigFn: func() component.Config { - cfg := rcvrFactories["otlpjsonfile"].CreateDefaultConfig().(*otlpjsonfilereceiver.Config) - cfg.Include = []string{"/tmp/*.log"} - return cfg - }, - }, - { - receiver: "podman_stats", - skipLifecycle: true, // Requires a running podman daemon - }, - { - receiver: "postgresql", - }, - { - receiver: "prometheus", - getConfigFn: func() component.Config { - cfg := rcvrFactories["prometheus"].CreateDefaultConfig().(*prometheusreceiver.Config) - cfg.PrometheusConfig.ScrapeConfigs = []*promconfig.ScrapeConfig{ - {JobName: "test"}, - } - return cfg - }, - }, - { - receiver: "pulsar", - skipLifecycle: true, // TODO It requires a running pulsar instance to start successfully. - }, - { - receiver: "rabbitmq", - }, - { - receiver: "purefa", - }, - { - receiver: "purefb", - }, - { - receiver: "receiver_creator", - }, - { - receiver: "redis", - getConfigFn: func() component.Config { - cfg := rcvrFactories["redis"].CreateDefaultConfig().(*redisreceiver.Config) - cfg.Endpoint = "localhost:6379" - return cfg - }, - }, - { - receiver: "riak", - }, - { - receiver: "sapm", - }, - { - receiver: "signalfx", - }, - { - receiver: "prometheus_simple", - }, - { - receiver: "skywalking", - }, - { - receiver: "snmp", - getConfigFn: func() component.Config { - cfg := rcvrFactories["snmp"].CreateDefaultConfig().(*snmpreceiver.Config) - cfg.Metrics = map[string]*snmpreceiver.MetricConfig{ - "m1": { - Unit: "1", - Gauge: &snmpreceiver.GaugeMetric{ValueType: "int"}, - ScalarOIDs: []snmpreceiver.ScalarOID{{ - OID: ".1", - }}, - }, - } - return cfg - }, - }, - { - receiver: "snowflake", - }, - { - receiver: "splunkenterprise", - }, - { - receiver: "splunk_hec", - }, - { - receiver: "sqlquery", - }, - { - receiver: "sqlserver", - skipLifecycle: true, // Requires a running windows process - }, - { - receiver: "sshcheck", - skipLifecycle: runtime.GOOS == "windows", - }, - - { - receiver: "statsd", - }, - { - receiver: "wavefront", - skipLifecycle: true, // Depends on carbon receiver to be running correctly - }, - { - receiver: "webhookevent", - getConfigFn: func() component.Config { - cfg := rcvrFactories["webhookevent"].CreateDefaultConfig().(*webhookeventreceiver.Config) - cfg.Endpoint = "127.0.0.1:8088" - return cfg - }, - }, - { - receiver: "windowseventlog", - skipLifecycle: runtime.GOOS != "windows", - getConfigFn: func() component.Config { - cfg := rcvrFactories["windowseventlog"].CreateDefaultConfig().(*windowseventlogreceiver.WindowsLogConfig) - cfg.InputConfig.Channel = "Application" - return cfg - }, - }, - { - receiver: "windowsperfcounters", - skipLifecycle: runtime.GOOS != "windows", - }, - { - receiver: "zipkin", - }, - { - receiver: "zookeeper", - }, - { - receiver: "syslog", - getConfigFn: func() component.Config { - cfg := rcvrFactories["syslog"].CreateDefaultConfig().(*syslogreceiver.SysLogConfig) - cfg.InputConfig.TCP = &tcpop.NewConfig().BaseConfig - cfg.InputConfig.TCP.ListenAddress = "0.0.0.0:0" - cfg.InputConfig.Protocol = "rfc5424" - return cfg - }, - }, - { - receiver: "tcplog", - getConfigFn: func() component.Config { - cfg := rcvrFactories["tcplog"].CreateDefaultConfig().(*tcplogreceiver.TCPLogConfig) - cfg.InputConfig.ListenAddress = "0.0.0.0:0" - return cfg - }, - }, - { - receiver: "udplog", - getConfigFn: func() component.Config { - cfg := rcvrFactories["udplog"].CreateDefaultConfig().(*udplogreceiver.UDPLogConfig) - cfg.InputConfig.ListenAddress = "0.0.0.0:0" - return cfg - }, - }, - { - receiver: "vcenter", - }, - { - receiver: "solace", - skipLifecycle: true, // Requires a solace broker to connect to - }, - { - receiver: "namedpipe", - skipLifecycle: runtime.GOOS != "linux", - getConfigFn: func() component.Config { - cfg := rcvrFactories["namedpipe"].CreateDefaultConfig().(*namedpipereceiver.NamedPipeConfig) - cfg.InputConfig.Path = "/tmp/foo" - return cfg - }, - }, - } - - assert.Equal(t, len(rcvrFactories), len(tests), "All receivers must be added to the lifecycle suite") - for _, tt := range tests { - t.Run(string(tt.receiver), func(t *testing.T) { - factory := rcvrFactories[tt.receiver] - assert.Equal(t, tt.receiver, factory.Type()) - - t.Run("shutdown", func(t *testing.T) { - verifyReceiverShutdown(t, factory, tt.getConfigFn) - }) - t.Run("lifecycle", func(t *testing.T) { - if tt.skipLifecycle { - t.SkipNow() - } - verifyReceiverLifecycle(t, factory, tt.getConfigFn) - }) - }) - } -} - -// getReceiverConfigFn is used customize the configuration passed to the verification. -// This is used to change ports or provide values required but not provided by the -// default configuration. -type getReceiverConfigFn func() component.Config - -// verifyReceiverLifecycle is used to test if a receiver type can handle the typical -// lifecycle of a component. The getConfigFn parameter only need to be specified if -// the test can't be done with the default configuration for the component. -func verifyReceiverLifecycle(t *testing.T, factory receiver.Factory, getConfigFn getReceiverConfigFn) { - ctx := context.Background() - host := newAssertNoErrorHost(t) - receiverCreateSet := receivertest.NewNopSettings() - - if getConfigFn == nil { - getConfigFn = factory.CreateDefaultConfig - } - - createFns := []createReceiverFn{ - wrapCreateLogsRcvr(factory), - wrapCreateTracesRcvr(factory), - wrapCreateMetricsRcvr(factory), - } - - for _, createFn := range createFns { - firstRcvr, err := createFn(ctx, receiverCreateSet, getConfigFn()) - if errors.Is(err, component.ErrDataTypeIsNotSupported) { - continue - } - require.NoError(t, err) - require.NoError(t, firstRcvr.Start(ctx, host)) - require.NoError(t, firstRcvr.Shutdown(ctx)) - - secondRcvr, err := createFn(ctx, receiverCreateSet, getConfigFn()) - require.NoError(t, err) - require.NoError(t, secondRcvr.Start(ctx, host)) - require.NoError(t, secondRcvr.Shutdown(ctx)) - } -} - -// verifyReceiverShutdown is used to test if a receiver type can be shutdown without being started first. -func verifyReceiverShutdown(tb testing.TB, factory receiver.Factory, getConfigFn getReceiverConfigFn) { - ctx := context.Background() - receiverCreateSet := receivertest.NewNopSettings() - - if getConfigFn == nil { - getConfigFn = factory.CreateDefaultConfig - } - - createFns := []createReceiverFn{ - wrapCreateLogsRcvr(factory), - wrapCreateTracesRcvr(factory), - wrapCreateMetricsRcvr(factory), - } - - for _, createFn := range createFns { - r, err := createFn(ctx, receiverCreateSet, getConfigFn()) - if errors.Is(err, component.ErrDataTypeIsNotSupported) { - continue - } - if r == nil { - continue - } - assert.NotPanics(tb, func() { - assert.NoError(tb, r.Shutdown(ctx)) - }) - } -} - -// assertNoErrorHost implements a component.Host that asserts that there were no errors. -type createReceiverFn func( - ctx context.Context, - set receiver.Settings, - cfg component.Config, -) (component.Component, error) - -func wrapCreateLogsRcvr(factory receiver.Factory) createReceiverFn { - return func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsReceiver(ctx, set, cfg, consumertest.NewNop()) - } -} - -func wrapCreateMetricsRcvr(factory receiver.Factory) createReceiverFn { - return func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsReceiver(ctx, set, cfg, consumertest.NewNop()) - } -} - -func wrapCreateTracesRcvr(factory receiver.Factory) createReceiverFn { - return func(ctx context.Context, set receiver.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesReceiver(ctx, set, cfg, consumertest.NewNop()) - } -} diff --git a/cmd/oteltestbedcol/.gitignore b/cmd/oteltestbedcol/.gitignore new file mode 100644 index 000000000000..2eeb73dec3d3 --- /dev/null +++ b/cmd/oteltestbedcol/.gitignore @@ -0,0 +1,3 @@ +* +!builder-config.yaml +!metadata.yaml diff --git a/cmd/oteltestbedcol/Makefile b/cmd/oteltestbedcol/Makefile deleted file mode 100644 index 1994cf483835..000000000000 --- a/cmd/oteltestbedcol/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -include ../../Makefile.Common - -lint: checklicense misspell - @echo "skipping lint: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/29449" diff --git a/cmd/oteltestbedcol/README.md b/cmd/oteltestbedcol/README.md deleted file mode 100644 index e7d30135bceb..000000000000 --- a/cmd/oteltestbedcol/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# `oteltestbedcol` binary - -This folder contains the sources for the `oteltestbedcol` test binary. This binary is intended for **TEST PURPOSES ONLY**. The source files in this folder are **NOT** the ones used to build any official OpenTelemetry Collector releases. -Check [open-telemetry/opentelemetry-collector-releases](https://github.com/open-telemetry/opentelemetry-collector-releases) for the official releases. diff --git a/cmd/oteltestbedcol/builder-config.yaml b/cmd/oteltestbedcol/builder-config.yaml index 8d28f1cffde7..59a44f73cd65 100644 --- a/cmd/oteltestbedcol/builder-config.yaml +++ b/cmd/oteltestbedcol/builder-config.yaml @@ -7,56 +7,56 @@ dist: module: github.com/open-telemetry/opentelemetry-collector-contrib/cmd/oteltestbedcol name: oteltestbedcol description: OpenTelemetry Collector binary for testbed only tests. - version: 0.108.1-dev - otelcol_version: 0.108.1 + version: 0.112.0-dev + otelcol_version: 0.112.0 extensions: - - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0 + - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.112.0 exporters: - - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.108.0 + - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 + - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0 + - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.112.0 processors: - - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.108.0 + - gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 + - gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.112.0 receivers: - - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.108.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0 + - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.112.0 + - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.112.0 providers: - - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331 - - gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 + - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.18.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage => ../../extension/storage @@ -104,10 +104,7 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter => ../../exporter/carbonexporter - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus => ../../pkg/translator/prometheus - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden - # see https://github.com/mattn/go-ieproxy/issues/45 - - github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 - - github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension => ../../extension/ackextension diff --git a/cmd/oteltestbedcol/components.go b/cmd/oteltestbedcol/components.go deleted file mode 100644 index 31e782d63d0c..000000000000 --- a/cmd/oteltestbedcol/components.go +++ /dev/null @@ -1,154 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -package main - -import ( - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/connector" - "go.opentelemetry.io/collector/exporter" - debugexporter "go.opentelemetry.io/collector/exporter/debugexporter" - otlpexporter "go.opentelemetry.io/collector/exporter/otlpexporter" - otlphttpexporter "go.opentelemetry.io/collector/exporter/otlphttpexporter" - "go.opentelemetry.io/collector/extension" - zpagesextension "go.opentelemetry.io/collector/extension/zpagesextension" - "go.opentelemetry.io/collector/otelcol" - "go.opentelemetry.io/collector/processor" - batchprocessor "go.opentelemetry.io/collector/processor/batchprocessor" - memorylimiterprocessor "go.opentelemetry.io/collector/processor/memorylimiterprocessor" - "go.opentelemetry.io/collector/receiver" - otlpreceiver "go.opentelemetry.io/collector/receiver/otlpreceiver" - - carbonexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter" - opencensusexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - opensearchexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter" - prometheusexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" - sapmexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter" - signalfxexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter" - splunkhecexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter" - syslogexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter" - zipkinexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter" - pprofextension "github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension" - filestorage "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage" - attributesprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor" - resourceprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor" - carbonreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver" - filelogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver" - fluentforwardreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver" - jaegerreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver" - opencensusreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" - prometheusreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver" - sapmreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver" - signalfxreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver" - splunkhecreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver" - syslogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" - tcplogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" - udplogreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver" - zipkinreceiver "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver" -) - -func components() (otelcol.Factories, error) { - var err error - factories := otelcol.Factories{} - - factories.Extensions, err = extension.MakeFactoryMap( - zpagesextension.NewFactory(), - pprofextension.NewFactory(), - filestorage.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ExtensionModules = make(map[component.Type]string, len(factories.Extensions)) - factories.ExtensionModules[zpagesextension.NewFactory().Type()] = "go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExtensionModules[pprofextension.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.108.0" - factories.ExtensionModules[filestorage.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0" - - factories.Receivers, err = receiver.MakeFactoryMap( - otlpreceiver.NewFactory(), - carbonreceiver.NewFactory(), - filelogreceiver.NewFactory(), - fluentforwardreceiver.NewFactory(), - jaegerreceiver.NewFactory(), - opencensusreceiver.NewFactory(), - prometheusreceiver.NewFactory(), - sapmreceiver.NewFactory(), - signalfxreceiver.NewFactory(), - splunkhecreceiver.NewFactory(), - syslogreceiver.NewFactory(), - tcplogreceiver.NewFactory(), - udplogreceiver.NewFactory(), - zipkinreceiver.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ReceiverModules = make(map[component.Type]string, len(factories.Receivers)) - factories.ReceiverModules[otlpreceiver.NewFactory().Type()] = "go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331" - factories.ReceiverModules[carbonreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.108.0" - factories.ReceiverModules[filelogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.108.0" - factories.ReceiverModules[fluentforwardreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.108.0" - factories.ReceiverModules[jaegerreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.108.0" - factories.ReceiverModules[opencensusreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0" - factories.ReceiverModules[prometheusreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0" - factories.ReceiverModules[sapmreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.108.0" - factories.ReceiverModules[signalfxreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.108.0" - factories.ReceiverModules[splunkhecreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.108.0" - factories.ReceiverModules[syslogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.108.0" - factories.ReceiverModules[tcplogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.108.0" - factories.ReceiverModules[udplogreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.108.0" - factories.ReceiverModules[zipkinreceiver.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0" - - factories.Exporters, err = exporter.MakeFactoryMap( - debugexporter.NewFactory(), - otlpexporter.NewFactory(), - otlphttpexporter.NewFactory(), - carbonexporter.NewFactory(), - opencensusexporter.NewFactory(), - opensearchexporter.NewFactory(), - prometheusexporter.NewFactory(), - sapmexporter.NewFactory(), - signalfxexporter.NewFactory(), - splunkhecexporter.NewFactory(), - syslogexporter.NewFactory(), - zipkinexporter.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ExporterModules = make(map[component.Type]string, len(factories.Exporters)) - factories.ExporterModules[debugexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExporterModules[otlpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExporterModules[otlphttpexporter.NewFactory().Type()] = "go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331" - factories.ExporterModules[carbonexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.108.0" - factories.ExporterModules[opencensusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.108.0" - factories.ExporterModules[opensearchexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.108.0" - factories.ExporterModules[prometheusexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.108.0" - factories.ExporterModules[sapmexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.108.0" - factories.ExporterModules[signalfxexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.108.0" - factories.ExporterModules[splunkhecexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.108.0" - factories.ExporterModules[syslogexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.108.0" - factories.ExporterModules[zipkinexporter.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.108.0" - - factories.Processors, err = processor.MakeFactoryMap( - batchprocessor.NewFactory(), - memorylimiterprocessor.NewFactory(), - attributesprocessor.NewFactory(), - resourceprocessor.NewFactory(), - ) - if err != nil { - return otelcol.Factories{}, err - } - factories.ProcessorModules = make(map[component.Type]string, len(factories.Processors)) - factories.ProcessorModules[batchprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331" - factories.ProcessorModules[memorylimiterprocessor.NewFactory().Type()] = "go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331" - factories.ProcessorModules[attributesprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.108.0" - factories.ProcessorModules[resourceprocessor.NewFactory().Type()] = "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.108.0" - - factories.Connectors, err = connector.MakeFactoryMap() - if err != nil { - return otelcol.Factories{}, err - } - factories.ConnectorModules = make(map[component.Type]string, len(factories.Connectors)) - - return factories, nil -} diff --git a/cmd/oteltestbedcol/go.mod b/cmd/oteltestbedcol/go.mod deleted file mode 100644 index 10232ab33ac1..000000000000 --- a/cmd/oteltestbedcol/go.mod +++ /dev/null @@ -1,423 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -module github.com/open-telemetry/opentelemetry-collector-contrib/cmd/oteltestbedcol - -go 1.22.0 - -toolchain go1.22.7 - -require ( - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 - go.uber.org/goleak v1.3.0 - golang.org/x/sys v0.24.0 -) - -require ( - cloud.google.com/go/auth v0.7.0 // indirect - cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.4.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect - github.com/Code-Hex/go-generics-cache v1.5.1 // indirect - github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 // indirect - github.com/apache/thrift v0.20.0 // indirect - github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.54.19 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect - github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b // indirect - github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/dennwc/varint v1.0.0 // indirect - github.com/digitalocean/godo v1.118.0 // indirect - github.com/distribution/reference v0.5.0 // indirect - github.com/docker/docker v27.1.1+incompatible // indirect - github.com/docker/go-connections v0.5.0 // indirect - github.com/docker/go-units v0.5.0 // indirect - github.com/elastic/go-grok v0.3.1 // indirect - github.com/elastic/go-structform v0.0.12 // indirect - github.com/elastic/lunes v0.1.0 // indirect - github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect - github.com/expr-lang/expr v1.16.9 // indirect - github.com/fatih/color v1.16.0 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-openapi/jsonpointer v0.20.2 // indirect - github.com/go-openapi/jsonreference v0.20.4 // indirect - github.com/go-openapi/swag v0.22.9 // indirect - github.com/go-resty/resty/v2 v2.13.1 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect - github.com/go-zookeeper/zk v1.0.3 // indirect - github.com/gobwas/glob v0.2.3 // indirect - github.com/goccy/go-json v0.10.3 // indirect - github.com/gogo/googleapis v1.4.1 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v5 v5.2.1 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.4 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/go-querystring v1.1.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/s2a-go v0.1.7 // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.5 // indirect - github.com/gophercloud/gophercloud v1.13.0 // indirect - github.com/gorilla/mux v1.8.1 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect - github.com/hashicorp/consul/api v1.29.2 // indirect - github.com/hashicorp/cronexpr v1.1.2 // indirect - github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-hclog v1.6.3 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-retryablehttp v0.7.7 // indirect - github.com/hashicorp/go-rootcerts v1.0.2 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/hashicorp/golang-lru v1.0.2 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3 // indirect - github.com/hashicorp/serf v0.10.1 // indirect - github.com/hetznercloud/hcloud-go/v2 v2.10.2 // indirect - github.com/iancoleman/strcase v0.3.0 // indirect - github.com/imdario/mergo v0.3.16 // indirect - github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/ionos-cloud/sdk-go/v6 v6.1.11 // indirect - github.com/jaegertracing/jaeger v1.60.0 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/jonboulle/clockwork v0.4.0 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/jpillora/backoff v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b // indirect - github.com/kylelemons/godebug v1.1.0 // indirect - github.com/leodido/go-syslog/v4 v4.1.0 // indirect - github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b // indirect - github.com/linode/linodego v1.37.0 // indirect - github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect - github.com/magefile/mage v1.15.0 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/miekg/dns v1.1.61 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/moby/docker-image-spec v1.3.1 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.108.0 // indirect - github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0 // indirect - github.com/opensearch-project/opensearch-go/v2 v2.3.0 // indirect - github.com/openzipkin/zipkin-go v0.4.3 // indirect - github.com/ovh/go-ovh v1.6.0 // indirect - github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect - github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect - 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/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/common/sigv4 v0.1.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - github.com/prometheus/prometheus v0.54.1 // indirect - github.com/rs/cors v1.11.1 // indirect - github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect - github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 // indirect - github.com/signalfx/sapm-proto v0.14.0 // indirect - github.com/soheilhy/cmux v0.1.5 // indirect - github.com/spf13/cobra v1.8.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/testify v1.9.0 // indirect - github.com/tinylib/msgp v1.2.0 // indirect - github.com/tklauser/go-sysconf v0.3.12 // indirect - github.com/tklauser/numcpus v0.6.1 // indirect - github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect - github.com/valyala/fastjson v1.6.4 // indirect - github.com/vultr/govultr/v2 v2.17.2 // indirect - github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.etcd.io/bbolt v1.3.11 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/contrib/zpages v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - go.opentelemetry.io/proto/otlp v1.3.1 // indirect - go.uber.org/atomic v1.11.0 // indirect - go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.26.0 // indirect - golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/mod v0.19.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect - golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.23.0 // indirect - gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/api v0.188.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.29.3 // indirect - k8s.io/apimachinery v0.29.3 // indirect - k8s.io/client-go v0.29.3 // indirect - k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect - k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage => ../../extension/storage - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage => ../../extension/storage/filestorage - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver => ../../receiver/opencensusreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver => ../../receiver/splunkhecreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin => ../../pkg/translator/zipkin - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver => ../../receiver/udplogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk => ../../internal/splunk - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl => ../../pkg/ottl - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver => ../../receiver/sapmreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver => ../../receiver/zipkinreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver => ../../receiver/jaegerreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr => ../../pkg/batchperresourceattr - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter => ../../exporter/prometheusremotewriteexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver => ../../receiver/tcplogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension => ../../extension/pprofextension - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata => ../../pkg/experimentalmetricmetadata - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza => ../../pkg/stanza - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver => ../../receiver/fluentforwardreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger => ../../pkg/translator/jaeger - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor => ../../processor/attributesprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver => ../../receiver/carbonreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter => ../../exporter/splunkhecexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter => ../../exporter/syslogexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter => ../../exporter/prometheusexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus => ../../pkg/translator/opencensus - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter => ../../exporter/zipkinexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx => ../../pkg/translator/signalfx - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver => ../../receiver/signalfxreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter => ../../internal/filter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite => ../../pkg/translator/prometheusremotewrite - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver => ../../receiver/filelogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter => ../../exporter/signalfxexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry => ../../pkg/resourcetotelemetry - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ../../exporter/opencensusexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opensearchexporter => ../../exporter/opensearchexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent => ../../internal/sharedcomponent - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver => ../../receiver/prometheusreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter => ../../exporter/sapmexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver => ../../receiver/syslogreceiver - -replace github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor => ../../processor/resourceprocessor - -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter => ../../exporter/carbonexporter - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus => ../../pkg/translator/prometheus - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden - -replace github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1 - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - -replace github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 - -replace github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 - -replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/ackextension => ../../extension/ackextension diff --git a/cmd/oteltestbedcol/go.sum b/cmd/oteltestbedcol/go.sum deleted file mode 100644 index 50afe35867bb..000000000000 --- a/cmd/oteltestbedcol/go.sum +++ /dev/null @@ -1,1251 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/auth v0.7.0 h1:kf/x9B3WTbBUHkC+1VS8wwwli9TzhSt0vSTVBmMR8Ts= -cloud.google.com/go/auth v0.7.0/go.mod h1:D+WqdrpcjmiCgWrXmLLxOVq1GACoE36chW6KXoEvuIw= -cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= -cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute/metadata v0.4.0 h1:vHzJCWaM4g8XIcm8kopr3XmDA4Gy/lblD3EhhSux05c= -cloud.google.com/go/compute/metadata v0.4.0/go.mod h1:SIQh1Kkb4ZJ8zJ874fqVkslA29PRXuleyj6vOzlbK7M= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 h1:GJHeeA2N7xrG3q30L2UXDyuWRzDM900/65j70wcM4Ww= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 h1:LkHbJbgF3YyvC53aqYGR+wWQDn2Rdp9AQdGndf9QvY4= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0/go.mod h1:QyiQdW4f4/BIfB8ZutZ2s+28RAgfa/pT+zS++ZHyM1I= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0 h1:PTFGRSlMKCQelWwxUyYVEUqseBJVemLyqWJjvMyt0do= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0/go.mod h1:LRr2FzBTQlONPPa5HREE5+RjSCTXl7BwOvYOaWTqCaI= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0/go.mod h1:Y/HgrePTmGy9HjdSGTqZNa+apUpTVIEVKXJyARP2lrk= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1 h1:7CBQ+Ei8SP2c6ydQTGCCrS35bDxgTMfoP2miAwK++OU= -github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.1.1/go.mod h1:c/wcGeGx5FUPbM/JltUYHZcKmigwyVLJlDq+4HdtXaw= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= -github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= -github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= -github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= -github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= -github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= -github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= -github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6icjJvbsmV8= -github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= -github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= -github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 h1:t3eaIm0rUkzbrIewtiFmMK5RXHej2XnoXNhxVsAYUfg= -github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= -github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.263/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go v1.54.19 h1:tyWV+07jagrNiCcGRzRhdtVjQs7Vy41NwsuOcl0IbVI= -github.com/aws/aws-sdk-go v1.54.19/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2/config v1.18.25/go.mod h1:dZnYpD5wTW/dQF0rRNLVypB396zWCcPiBIvdvSWHEg4= -github.com/aws/aws-sdk-go-v2/credentials v1.13.24/go.mod h1:jYPYi99wUOPIFi0rhiOvXeSEReVOzBqFNOX5bXYoG2o= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3/go.mod h1:4Q0UFP0YJf0NrsEuEYHpM9fTSEVnD16Z3uyEF7J9JGM= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.10/go.mod h1:ouy2P4z6sJN70fR3ka3wD3Ro3KezSxU6eKGQI2+2fjI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10/go.mod h1:AFvkxc8xfBe8XA+5St5XIHHrQQtkxqrRincx4hmMHOk= -github.com/aws/aws-sdk-go-v2/service/sts v1.19.0/go.mod h1:BgQOMsg8av8jset59jelyPW7NoZcZXLVpDsXunGDrk8= -github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= -github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3/go.mod h1:CIWtjkly68+yqLPbvwwR/fjNJA/idrtULjZWh2v1ys0= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= -github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/containerd/containerd v1.7.15 h1:afEHXdil9iAm03BmhjzKyXnnEBtjaLJefdU7DV0IFes= -github.com/containerd/containerd v1.7.15/go.mod h1:ISzRRTMF8EXNpJlTzyr2XMhN+j9K302C21/+cr3kUnY= -github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= -github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= -github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= -github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= -github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= -github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= -github.com/digitalocean/godo v1.118.0 h1:lkzGFQmACrVCp7UqH1sAi4JK/PWwlc5aaxubgorKmC4= -github.com/digitalocean/godo v1.118.0/go.mod h1:Vk0vpCot2HOAJwc5WE8wljZGtJ3ZtWIc8MQ8rF38sdo= -github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= -github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY= -github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= -github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= -github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= -github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= -github.com/elastic/go-structform v0.0.12 h1:HXpzlAKyej8T7LobqKDThUw7BMhwV6Db24VwxNtgxCs= -github.com/elastic/go-structform v0.0.12/go.mod h1:CZWf9aIRYY5SuKSmOhtXScE5uQiLZNqAFnwKR4OrIM4= -github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= -github.com/elastic/lunes v0.1.0/go.mod h1:xGphYIt3XdZRtyWosHQTErsQTd4OP1p9wsbVoHelrd4= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 h1:IgJPqnrlY2Mr4pYB6oaMKvFvwJ9H+X6CCY5x1vCTcpc= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= -github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= -github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= -github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= -github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q= -github.com/go-openapi/jsonpointer v0.20.2/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs= -github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdXSSgNeAhojU= -github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHauHj0V9Lhc506VOpw4= -github.com/go-openapi/swag v0.22.9 h1:XX2DssF+mQKM2DHsbgZK74y/zj4mo9I99+89xUmuZCE= -github.com/go-openapi/swag v0.22.9/go.mod h1:3/OXnFfnMAwBD099SwYRk7GD3xOrr1iL7d/XNLXVVwE= -github.com/go-resty/resty/v2 v2.13.1 h1:x+LHXBI2nMB1vqndymf26quycC4aggYJ7DECYbiz03g= -github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96ORAI6Q7d+0= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= -github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= -github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= -github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= -github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= -github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da h1:xRmpO92tb8y+Z85iUOMOicpCfaYcv7o3Cg3wKrIpg8g= -github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= -github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.12.5 h1:8gw9KZK8TiVKB6q3zHY3SBzLnrGp6HQjyfYBYGmXdxA= -github.com/googleapis/gax-go/v2 v2.12.5/go.mod h1:BUDKcWo+RaKq5SC9vVYL0wLADa3VcfswbOMMRmB9H3E= -github.com/gophercloud/gophercloud v1.13.0 h1:8iY9d1DAbzMW6Vok1AxbbK5ZaUjzMp0tdyt4fX9IeJ0= -github.com/gophercloud/gophercloud v1.13.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM= -github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= -github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= -github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= -github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= -github.com/hashicorp/consul/api v1.29.2 h1:aYyRn8EdE2mSfG14S1+L9Qkjtz8RzmaWh6AcNGRNwPw= -github.com/hashicorp/consul/api v1.29.2/go.mod h1:0YObcaLNDSbtlgzIRtmRXI1ZkeuK0trCBxwZQ4MYnIk= -github.com/hashicorp/consul/proto-public v0.6.2 h1:+DA/3g/IiKlJZb88NBn0ZgXrxJp2NlvCZdEyl+qxvL0= -github.com/hashicorp/consul/proto-public v0.6.2/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg= -github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= -github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= -github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= -github.com/hashicorp/cronexpr v1.1.2/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= -github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= -github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= -github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= -github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= -github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= -github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= -github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= -github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= -github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= -github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3 h1:fgVfQ4AC1avVOnu2cfms8VAiD8lUq3vWI8mTocOXN/w= -github.com/hashicorp/nomad/api v0.0.0-20240717122358-3d93bd3778f3/go.mod h1:svtxn6QnrQ69P23VvIWMR34tg3vmwLz4UdUzm1dSCgE= -github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= -github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= -github.com/hetznercloud/hcloud-go/v2 v2.10.2 h1:9gyTUPhfNbfbS40Spgij5mV5k37bOZgt8iHKCbfGs5I= -github.com/hetznercloud/hcloud-go/v2 v2.10.2/go.mod h1:xQ+8KhIS62W0D78Dpi57jsufWh844gUw1az5OUvaeq8= -github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= -github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= -github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= -github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/ionos-cloud/sdk-go/v6 v6.1.11 h1:J/uRN4UWO3wCyGOeDdMKv8LWRzKu6UIkLEaes38Kzh8= -github.com/ionos-cloud/sdk-go/v6 v6.1.11/go.mod h1:EzEgRIDxBELvfoa/uBN0kOQaqovLjUWEB7iW4/Q+t4k= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= -github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww= -github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= -github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= -github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00= -github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= -github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= -github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= -github.com/linode/linodego v1.37.0 h1:B/2Spzv9jYXzKA+p+GD8fVCNJ7Wuw6P91ZDD9eCkkso= -github.com/linode/linodego v1.37.0/go.mod h1:L7GXKFD3PoN2xSEtFc04wIXP5WK65O10jYQx0PQISWQ= -github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c h1:VtwQ41oftZwlMnOEbMWQtSEUgU64U4s+GHk7hZK+jtY= -github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE= -github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= -github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= -github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= -github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/maxatome/go-testdeep v1.12.0 h1:Ql7Go8Tg0C1D/uMMX59LAoYK7LffeJQ6X2T04nTH68g= -github.com/maxatome/go-testdeep v1.12.0/go.mod h1:lPZc/HAcJMP92l7yI6TRz1aZN5URwUBUAfUNvrclaNM= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.61 h1:nLxbwF3XxhwVSm8g9Dghm9MHPaUZuqhPiGL+675ZmEs= -github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= -github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE= -github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= -github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= -github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= -github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= -github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= -github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= -github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg= -github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU= -github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= -github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= -github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= -github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= -github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= -github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= -github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= -github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= -github.com/opensearch-project/opensearch-go/v2 v2.3.0 h1:nQIEMr+A92CkhHrZgUhcfsrZjibvB3APXf2a1VwCmMQ= -github.com/opensearch-project/opensearch-go/v2 v2.3.0/go.mod h1:8LDr9FCgUTVoT+5ESjc2+iaZuldqE+23Iq0r1XeNue8= -github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= -github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= -github.com/ovh/go-ovh v1.6.0 h1:ixLOwxQdzYDx296sXcgS35TOPEahJkpjMGtzPadCjQI= -github.com/ovh/go-ovh v1.6.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC7c= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= -github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= -github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= -github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= -github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= -github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= -github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -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/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= -github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/prometheus/prometheus v0.54.1 h1:vKuwQNjnYN2/mDoWfHXDhAsz/68q/dQDb+YbcEqU7MQ= -github.com/prometheus/prometheus v0.54.1/go.mod h1:xlLByHhk2g3ycakQGrMaU8K7OySZx98BzeCR99991NY= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= -github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= -github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= -github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 h1:BkTk4gynLjguayxrYxZoMZjBnAOh7ntQvUkOFmkMqPU= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= -github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -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/signalfx/com_signalfx_metrics_protobuf v0.0.3 h1:32k2QLgsKhcEs55q4REPKyIadvid5FPy2+VMgvbmKJ0= -github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3/go.mod h1:gJrXWi7wSGXfiC7+VheQaz+ypdCt5SmZNL+BRxUe7y4= -github.com/signalfx/sapm-proto v0.14.0 h1:KWh3I5E4EkelB19aP1/54Ik8khSioC/RVRW/riOfRGg= -github.com/signalfx/sapm-proto v0.14.0/go.mod h1:Km6PskZh966cqNoUn3AmRyGRix5VfwnxVBvn2vjRC9U= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= -github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= -github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= -github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= -github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= -github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= -github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= -github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -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 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= -github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/testcontainers/testcontainers-go v0.31.0 h1:W0VwIhcEVhRflwL9as3dhY6jXjVCA27AkmbnZ+UTh3U= -github.com/testcontainers/testcontainers-go v0.31.0/go.mod h1:D2lAoA0zUFiSY+eAflqK5mcUx/A5hrrORaEQrd0SefI= -github.com/tidwall/gjson v1.10.2 h1:APbLGOM0rrEkd8WBw9C24nllro4ajFuJu0Sc9hRz8Bo= -github.com/tidwall/gjson v1.10.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/tinylru v1.1.0 h1:XY6IUfzVTU9rpwdhKUF6nQdChgCdGjkMfLzbWyiau6I= -github.com/tidwall/tinylru v1.1.0/go.mod h1:3+bX+TJ2baOLMWTnlyNWHh4QMnFyARg2TLTQ6OFbzw8= -github.com/tidwall/wal v1.1.7 h1:emc1TRjIVsdKKSnpwGBAcsAGg0767SvUk8+ygx7Bb+4= -github.com/tidwall/wal v1.1.7/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= -github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY= -github.com/tinylib/msgp v1.2.0/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro= -github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= -github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= -github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= -github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZOl0DCe3eVMLPOQzJxgZpfdHHeauNTM= -github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= -github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ= -github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vultr/govultr/v2 v2.17.2 h1:gej/rwr91Puc/tgh+j33p/BLR16UrIPnSr+AIwYWZQs= -github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= -github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= -go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:wRzQdiOgNiP6lu7zf6LjUxDykHK7mV8jE1l8s4dWia4= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Rq3pzCddWlNtoeQsT2B0aMmLtmuDF5MvFBckwJMoiT0= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:q8LQW1V9uUbZFzDKD0JTH92H6VRIaFcx2y/ooT44WyA= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:8CPsp2ek4qlcnaJEM3g/YQ6/2kNIwqDwO/wOmAgYvO0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:krcA76OOIBEN1IcRieojMCH6EwKvTBWFPixGqHBpToQ= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:jc+4XrGLQ7Ce50A8m4l3JASBmH2pW7fgpKGn+SD1VjU= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:Gl+/0SxpML4ANDnWbeSSlcsMa1B7u/XPrR6zhas4JwI= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:cnccoz0R7TTSuWY61BPOJl0J7Th3yVZgEFPFUJ86a8M= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 h1:+5741SgE52SkqN4t2p8jYTvHzXwmioQFfn1A53qORtw= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:de4qi9Sr0cWsZapO3BzVPOzSPorBIGp9ZTfE0Y2+sto= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:DSgsLqj0L0m7rQdzWsC/fvE4qvzJSggqmaur0wGucZ4= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:CSvxn55s4JFEEJ0UoYoXbj8XoBFl7Oj26bAE9kAcNTE= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:FgbrQxhUTqcizMI+3s91kPONM1WX+JOFCL9ghzWKe2c= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2VxvUC07PujwiYY1KjJjgEFJ0kiY2pAs+slZbtct2t8= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:MMCQJrhmZU1QEzWWodPgsHg/hJ+fXwTb9jc4nYTP6aY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0U6x1xcDuvHEgoH/2TzEmbsG47VwpK2FPD0L93DTxFQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= -go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= -go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= -golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg= -golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= -gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.188.0 h1:51y8fJ/b1AaaBRJr4yWm96fPcuxSo0JcegXE3DaHQHw= -google.golang.org/api v0.188.0/go.mod h1:VR0d+2SIiWOYG3r/jdm7adPW9hI2aRv9ETOSCQ9Beag= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -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.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -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= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.29.3 h1:2ORfZ7+bGC3YJqGpV0KSDDEVf8hdGQ6A03/50vj8pmw= -k8s.io/api v0.29.3/go.mod h1:y2yg2NTyHUUkIoTC+phinTnEa3KFM6RZ3szxt014a80= -k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU= -k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU= -k8s.io/client-go v0.29.3 h1:R/zaZbEAxqComZ9FHeQwOh3Y1ZUs7FaHKZdQtIc2WZg= -k8s.io/client-go v0.29.3/go.mod h1:tkDisCvgPfiRpxGnOORfkljmS+UrW+WtXAy2fTvXJB0= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= -k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/cmd/oteltestbedcol/main.go b/cmd/oteltestbedcol/main.go deleted file mode 100644 index 61bbd8dc4e32..000000000000 --- a/cmd/oteltestbedcol/main.go +++ /dev/null @@ -1,54 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -// Program oteltestbedcol is an OpenTelemetry Collector binary. -package main - -import ( - "log" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/confmap" - envprovider "go.opentelemetry.io/collector/confmap/provider/envprovider" - fileprovider "go.opentelemetry.io/collector/confmap/provider/fileprovider" - httpprovider "go.opentelemetry.io/collector/confmap/provider/httpprovider" - httpsprovider "go.opentelemetry.io/collector/confmap/provider/httpsprovider" - yamlprovider "go.opentelemetry.io/collector/confmap/provider/yamlprovider" - "go.opentelemetry.io/collector/otelcol" -) - -func main() { - info := component.BuildInfo{ - Command: "oteltestbedcol", - Description: "OpenTelemetry Collector binary for testbed only tests.", - Version: "0.108.1-dev", - } - - set := otelcol.CollectorSettings{ - BuildInfo: info, - Factories: components, - ConfigProviderSettings: otelcol.ConfigProviderSettings{ - ResolverSettings: confmap.ResolverSettings{ - ProviderFactories: []confmap.ProviderFactory{ - envprovider.NewFactory(), - fileprovider.NewFactory(), - httpprovider.NewFactory(), - httpsprovider.NewFactory(), - yamlprovider.NewFactory(), - }, - }, - }, - } - - if err := run(set); err != nil { - log.Fatal(err) - } -} - -func runInteractive(params otelcol.CollectorSettings) error { - cmd := otelcol.NewCommand(params) - if err := cmd.Execute(); err != nil { - log.Fatalf("collector server run finished with error: %v", err) - } - - return nil -} diff --git a/cmd/oteltestbedcol/main_others.go b/cmd/oteltestbedcol/main_others.go deleted file mode 100644 index 3735aecb5867..000000000000 --- a/cmd/oteltestbedcol/main_others.go +++ /dev/null @@ -1,11 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -//go:build !windows - -package main - -import "go.opentelemetry.io/collector/otelcol" - -func run(params otelcol.CollectorSettings) error { - return runInteractive(params) -} diff --git a/cmd/oteltestbedcol/main_windows.go b/cmd/oteltestbedcol/main_windows.go deleted file mode 100644 index bb68124a52c9..000000000000 --- a/cmd/oteltestbedcol/main_windows.go +++ /dev/null @@ -1,30 +0,0 @@ -// Code generated by "go.opentelemetry.io/collector/cmd/builder". DO NOT EDIT. - -//go:build windows - -package main - -import ( - "errors" - "fmt" - - "go.opentelemetry.io/collector/otelcol" - "golang.org/x/sys/windows" - "golang.org/x/sys/windows/svc" -) - -func run(params otelcol.CollectorSettings) error { - // No need to supply service name when startup is invoked through - // the Service Control Manager directly. - if err := svc.Run("", otelcol.NewSvcHandler(params)); err != nil { - if errors.Is(err, windows.ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) { - // Per https://learn.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-startservicectrldispatchera#return-value - // this means that the process is not running as a service, so run interactively. - return runInteractive(params) - } - - return fmt.Errorf("failed to start collector server: %w", err) - } - - return nil -} diff --git a/cmd/oteltestbedcol/metadata.yaml b/cmd/oteltestbedcol/metadata.yaml index ac90b5c56685..e7e25c98929b 100644 --- a/cmd/oteltestbedcol/metadata.yaml +++ b/cmd/oteltestbedcol/metadata.yaml @@ -3,4 +3,4 @@ type: oteltestbedcol status: class: cmd codeowners: - active: [] \ No newline at end of file + active: [] diff --git a/cmd/oteltestbedcol/package_test.go b/cmd/oteltestbedcol/package_test.go deleted file mode 100644 index ca84920f45f1..000000000000 --- a/cmd/oteltestbedcol/package_test.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package main - -import ( - "testing" - - "go.uber.org/goleak" -) - -func TestMain(m *testing.M) { - goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start")) -} diff --git a/cmd/telemetrygen/go.mod b/cmd/telemetrygen/go.mod index a04be368e5ed..6e8a3ec4afd2 100644 --- a/cmd/telemetrygen/go.mod +++ b/cmd/telemetrygen/go.mod @@ -7,26 +7,27 @@ require ( github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.5.0 - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 - go.opentelemetry.io/otel/log v0.5.0 - go.opentelemetry.io/otel/sdk v1.29.0 - go.opentelemetry.io/otel/sdk/log v0.5.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.7.0 + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 + go.opentelemetry.io/otel/log v0.7.0 + go.opentelemetry.io/otel/sdk v1.31.0 + go.opentelemetry.io/otel/sdk/log v0.7.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 + go.opentelemetry.io/proto/otlp v1.3.1 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - golang.org/x/time v0.6.0 - google.golang.org/grpc v1.66.0 + golang.org/x/time v0.7.0 + google.golang.org/grpc v1.67.1 ) require ( @@ -43,16 +44,15 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/proto/otlp v1.3.1 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/cmd/telemetrygen/go.sum b/cmd/telemetrygen/go.sum index ff22adf93d1a..ff47798f8cff 100644 --- a/cmd/telemetrygen/go.sum +++ b/cmd/telemetrygen/go.sum @@ -65,8 +65,8 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= @@ -83,42 +83,42 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.5.0 h1:iWyFL+atC9S1e6MFDLNUZieyKTmsrvsDzuozUDbFg8E= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.5.0/go.mod h1:0Ur7rPCJmkHksYcBywsFXnKBG3pqGl4TGltZ+T3qhSA= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.7.0 h1:iNba3cIZTDPB2+IAbVY/3TUN+pCCLrNYo2GaGtsKBak= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.7.0/go.mod h1:l5BDPiZ9FbeejzWTAX6BowMzQOM/GeaUQ6lr3sOcSkc= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -149,8 +149,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -163,14 +163,14 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= +golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -189,19 +189,19 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/cmd/telemetrygen/internal/common/tls_utils.go b/cmd/telemetrygen/internal/common/tls_utils.go index 286d7345adc1..6759541ec508 100644 --- a/cmd/telemetrygen/internal/common/tls_utils.go +++ b/cmd/telemetrygen/internal/common/tls_utils.go @@ -28,52 +28,37 @@ func caPool(caFile string) (*x509.CertPool, error) { return pool, nil } -func GetTLSCredentialsForGRPCExporter(caFile string, cAuth ClientAuth) (credentials.TransportCredentials, error) { - - pool, err := caPool(caFile) +func GetTLSCredentialsForGRPCExporter( + caFile string, + cAuth ClientAuth, + insecureSkipVerify bool, +) (credentials.TransportCredentials, error) { + tlsConfig, err := getTLSConfig(caFile, cAuth, insecureSkipVerify) if err != nil { return nil, err } + return credentials.NewTLS(tlsConfig), nil +} - var creds credentials.TransportCredentials - - if caFile != "" { - creds = credentials.NewTLS(&tls.Config{ - RootCAs: pool, - }) - } else { - creds = credentials.NewTLS(&tls.Config{}) - } - - // Configuration for mTLS - if cAuth.Enabled { - keypair, err := tls.LoadX509KeyPair(cAuth.ClientCertFile, cAuth.ClientKeyFile) - if err != nil { - return nil, err - } - creds = credentials.NewTLS(&tls.Config{ - RootCAs: pool, - Certificates: []tls.Certificate{keypair}, - }) - } - - return creds, nil +func GetTLSCredentialsForHTTPExporter( + caFile string, + cAuth ClientAuth, + insecureSkipVerify bool, +) (*tls.Config, error) { + return getTLSConfig(caFile, cAuth, insecureSkipVerify) } -func GetTLSCredentialsForHTTPExporter(caFile string, cAuth ClientAuth) (*tls.Config, error) { - pool, err := caPool(caFile) - if err != nil { - return nil, err +func getTLSConfig(caFile string, cAuth ClientAuth, insecureSkipVerify bool) (*tls.Config, error) { + tlsCfg := tls.Config{ + InsecureSkipVerify: insecureSkipVerify, } - var tlsCfg tls.Config - if caFile != "" { - tlsCfg = tls.Config{ - RootCAs: pool, + pool, err := caPool(caFile) + if err != nil { + return nil, err } - } else { - tlsCfg = tls.Config{} + tlsCfg.RootCAs = pool } // Configuration for mTLS @@ -82,7 +67,6 @@ func GetTLSCredentialsForHTTPExporter(caFile string, cAuth ClientAuth) (*tls.Con if err != nil { return nil, err } - tlsCfg.ClientAuth = tls.RequireAndVerifyClientCert tlsCfg.Certificates = []tls.Certificate{keypair} } return &tlsCfg, nil diff --git a/cmd/telemetrygen/internal/common/validate.go b/cmd/telemetrygen/internal/common/validate.go index 19a70ba230f2..b9441f8f22e3 100644 --- a/cmd/telemetrygen/internal/common/validate.go +++ b/cmd/telemetrygen/internal/common/validate.go @@ -9,15 +9,15 @@ import ( ) var ( - errInvalidTraceIDLenght = fmt.Errorf("TraceID must be a 32 character hex string, like: 'ae87dadd90e9935a4bc9660628efd569'") - errInvalidSpanIDLenght = fmt.Errorf("SpanID must be a 16 character hex string, like: '5828fa4960140870'") + errInvalidTraceIDLength = fmt.Errorf("TraceID must be a 32 character hex string, like: 'ae87dadd90e9935a4bc9660628efd569'") + errInvalidSpanIDLength = fmt.Errorf("SpanID must be a 16 character hex string, like: '5828fa4960140870'") errInvalidTraceID = fmt.Errorf("failed to create traceID byte array from the given traceID, make sure the traceID is a hex representation of a [16]byte, like: 'ae87dadd90e9935a4bc9660628efd569'") errInvalidSpanID = fmt.Errorf("failed to create SpanID byte array from the given SpanID, make sure the SpanID is a hex representation of a [8]byte, like: '5828fa4960140870'") ) func ValidateTraceID(traceID string) error { if len(traceID) != 32 { - return errInvalidTraceIDLenght + return errInvalidTraceIDLength } _, err := hex.DecodeString(traceID) @@ -30,7 +30,7 @@ func ValidateTraceID(traceID string) error { func ValidateSpanID(spanID string) error { if len(spanID) != 16 { - return errInvalidSpanIDLenght + return errInvalidSpanIDLength } _, err := hex.DecodeString(spanID) if err != nil { diff --git a/cmd/telemetrygen/internal/common/validate_test.go b/cmd/telemetrygen/internal/common/validate_test.go index 62e199725a00..54134fa667e1 100644 --- a/cmd/telemetrygen/internal/common/validate_test.go +++ b/cmd/telemetrygen/internal/common/validate_test.go @@ -23,7 +23,7 @@ func TestValidateTraceID(t *testing.T) { { name: "InvalidLength", traceID: "invalid-length", - expected: errInvalidTraceIDLenght, + expected: errInvalidTraceIDLength, }, { name: "InvalidTraceID", @@ -53,7 +53,7 @@ func TestValidateSpanID(t *testing.T) { { name: "InvalidLength", spanID: "invalid-length", - expected: errInvalidSpanIDLenght, + expected: errInvalidSpanIDLength, }, { name: "InvalidTraceID", diff --git a/cmd/telemetrygen/internal/e2etest/e2e_test.go b/cmd/telemetrygen/internal/e2etest/e2e_test.go index 560df3022189..0d76261a9350 100644 --- a/cmd/telemetrygen/internal/e2etest/e2e_test.go +++ b/cmd/telemetrygen/internal/e2etest/e2e_test.go @@ -8,6 +8,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/consumer/consumertest" @@ -25,7 +26,7 @@ func TestGenerateTraces(t *testing.T) { rCfg := f.CreateDefaultConfig() endpoint := testutil.GetAvailableLocalAddress(t) rCfg.(*otlpreceiver.Config).GRPC.NetAddr.Endpoint = endpoint - r, err := f.CreateTracesReceiver(context.Background(), receivertest.NewNopSettings(), rCfg, sink) + r, err := f.CreateTraces(context.Background(), receivertest.NewNopSettings(), rCfg, sink) require.NoError(t, err) err = r.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err) @@ -53,7 +54,7 @@ func TestGenerateTraces(t *testing.T) { } go func() { err = traces.Start(cfg) - require.NoError(t, err) + assert.NoError(t, err) }() require.Eventually(t, func() bool { return len(sink.AllTraces()) > 0 diff --git a/cmd/telemetrygen/internal/e2etest/go.mod b/cmd/telemetrygen/internal/e2etest/go.mod index bda26b69a8b7..f7b677a98ae1 100644 --- a/cmd/telemetrygen/internal/e2etest/go.mod +++ b/cmd/telemetrygen/internal/e2etest/go.mod @@ -3,25 +3,23 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetryge go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect @@ -30,7 +28,7 @@ require ( github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -39,57 +37,54 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.112.0 // indirect + go.opentelemetry.io/collector/config/confighttp v0.112.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/confmap v1.18.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - golang.org/x/time v0.6.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + golang.org/x/time v0.7.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/cmd/telemetrygen/internal/e2etest/go.sum b/cmd/telemetrygen/internal/e2etest/go.sum index 8cab6762dbec..b5b7dae08734 100644 --- a/cmd/telemetrygen/internal/e2etest/go.sum +++ b/cmd/telemetrygen/internal/e2etest/go.sum @@ -1,13 +1,9 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -29,8 +25,8 @@ github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ4 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -58,8 +54,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -74,8 +70,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -87,23 +81,15 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -119,98 +105,82 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:MMCQJrhmZU1QEzWWodPgsHg/hJ+fXwTb9jc4nYTP6aY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0U6x1xcDuvHEgoH/2TzEmbsG47VwpK2FPD0L93DTxFQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 h1:3Kd8zHKqytBpSvPo0cGi0iCfe5zTMpUgnsNsK9shDMg= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0/go.mod h1:1KqtFWaQ6duvMqk6mCdRPqySXPBr9Ubr0EW9lEr/9A4= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -241,8 +211,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -255,14 +225,14 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= +golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -281,19 +251,19 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/cmd/telemetrygen/internal/logs/config.go b/cmd/telemetrygen/internal/logs/config.go index 6a619b51223b..dd17973bb66d 100644 --- a/cmd/telemetrygen/internal/logs/config.go +++ b/cmd/telemetrygen/internal/logs/config.go @@ -4,6 +4,8 @@ package logs import ( + "fmt" + "github.com/spf13/pflag" "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen/internal/common" @@ -36,6 +38,10 @@ func (c *Config) Flags(fs *pflag.FlagSet) { // Validate validates the test scenario parameters. func (c *Config) Validate() error { + if c.TotalDuration <= 0 && c.NumLogs <= 0 { + return fmt.Errorf("either `logs` or `duration` must be greater than 0") + } + if c.TraceID != "" { if err := common.ValidateTraceID(c.TraceID); err != nil { return err diff --git a/cmd/telemetrygen/internal/logs/exporter.go b/cmd/telemetrygen/internal/logs/exporter.go index 37df9ac9ac76..9543a45370cd 100644 --- a/cmd/telemetrygen/internal/logs/exporter.go +++ b/cmd/telemetrygen/internal/logs/exporter.go @@ -22,7 +22,9 @@ func grpcExporterOptions(cfg *Config) ([]otlploggrpc.Option, error) { if cfg.Insecure { grpcExpOpt = append(grpcExpOpt, otlploggrpc.WithInsecure()) } else { - credentials, err := common.GetTLSCredentialsForGRPCExporter(cfg.CaFile, cfg.ClientAuth) + credentials, err := common.GetTLSCredentialsForGRPCExporter( + cfg.CaFile, cfg.ClientAuth, cfg.InsecureSkipVerify, + ) if err != nil { return nil, fmt.Errorf("failed to get TLS credentials: %w", err) } @@ -47,7 +49,9 @@ func httpExporterOptions(cfg *Config) ([]otlploghttp.Option, error) { if cfg.Insecure { httpExpOpt = append(httpExpOpt, otlploghttp.WithInsecure()) } else { - tlsCfg, err := common.GetTLSCredentialsForHTTPExporter(cfg.CaFile, cfg.ClientAuth) + tlsCfg, err := common.GetTLSCredentialsForHTTPExporter( + cfg.CaFile, cfg.ClientAuth, cfg.InsecureSkipVerify, + ) if err != nil { return nil, fmt.Errorf("failed to get TLS credentials: %w", err) } diff --git a/cmd/telemetrygen/internal/logs/logs.go b/cmd/telemetrygen/internal/logs/logs.go index 3132b0bc5f5a..ff428fc93e1b 100644 --- a/cmd/telemetrygen/internal/logs/logs.go +++ b/cmd/telemetrygen/internal/logs/logs.go @@ -60,7 +60,6 @@ func Start(cfg *Config) error { } if err = Run(cfg, expFunc, logger); err != nil { - logger.Error("failed to stop the exporter", zap.Error(err)) return err } @@ -69,10 +68,12 @@ func Start(cfg *Config) error { // Run executes the test scenario. func Run(c *Config, exp func() (sdklog.Exporter, error), logger *zap.Logger) error { + if err := c.Validate(); err != nil { + return err + } + if c.TotalDuration > 0 { c.NumLogs = 0 - } else if c.NumLogs <= 0 { - return fmt.Errorf("either `logs` or `duration` must be greater than 0") } limit := rate.Limit(c.Rate) diff --git a/cmd/telemetrygen/internal/logs/worker_test.go b/cmd/telemetrygen/internal/logs/worker_test.go index 3e759b606154..2d1095afe326 100644 --- a/cmd/telemetrygen/internal/logs/worker_test.go +++ b/cmd/telemetrygen/internal/logs/worker_test.go @@ -229,6 +229,58 @@ func TestLogsWithTraceIDAndSpanID(t *testing.T) { } } +func TestValidate(t *testing.T) { + tests := []struct { + name string + cfg *Config + wantErrMessage string + }{ + { + name: "No duration or NumLogs", + cfg: &Config{ + Config: common.Config{ + WorkerCount: 1, + }, + TraceID: "123", + }, + wantErrMessage: "either `logs` or `duration` must be greater than 0", + }, + { + name: "TraceID invalid", + cfg: &Config{ + Config: common.Config{ + WorkerCount: 1, + }, + NumLogs: 5, + TraceID: "123", + }, + wantErrMessage: "TraceID must be a 32 character hex string, like: 'ae87dadd90e9935a4bc9660628efd569'", + }, + { + name: "SpanID invalid", + cfg: &Config{ + Config: common.Config{ + WorkerCount: 1, + }, + NumLogs: 5, + TraceID: "ae87dadd90e9935a4bc9660628efd569", + SpanID: "123", + }, + wantErrMessage: "SpanID must be a 16 character hex string, like: '5828fa4960140870'", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + m := &mockExporter{} + expFunc := func() (sdklog.Exporter, error) { + return m, nil + } + logger, _ := zap.NewDevelopment() + require.EqualError(t, Run(tt.cfg, expFunc, logger), tt.wantErrMessage) + }) + } +} + func configWithNoAttributes(qty int, body string) *Config { return &Config{ Body: body, diff --git a/cmd/telemetrygen/internal/metrics/config.go b/cmd/telemetrygen/internal/metrics/config.go index cab4633d28fb..fd8f2c4e9aa0 100644 --- a/cmd/telemetrygen/internal/metrics/config.go +++ b/cmd/telemetrygen/internal/metrics/config.go @@ -4,6 +4,8 @@ package metrics import ( + "fmt" + "github.com/spf13/pflag" "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen/internal/common" @@ -39,6 +41,10 @@ func (c *Config) Flags(fs *pflag.FlagSet) { // Validate validates the test scenario parameters. func (c *Config) Validate() error { + if c.TotalDuration <= 0 && c.NumMetrics <= 0 { + return fmt.Errorf("either `metrics` or `duration` must be greater than 0") + } + if c.TraceID != "" { if err := common.ValidateTraceID(c.TraceID); err != nil { return err diff --git a/cmd/telemetrygen/internal/metrics/exporter.go b/cmd/telemetrygen/internal/metrics/exporter.go index 1933c6aea73e..d8323ffbebd0 100644 --- a/cmd/telemetrygen/internal/metrics/exporter.go +++ b/cmd/telemetrygen/internal/metrics/exporter.go @@ -22,7 +22,9 @@ func grpcExporterOptions(cfg *Config) ([]otlpmetricgrpc.Option, error) { if cfg.Insecure { grpcExpOpt = append(grpcExpOpt, otlpmetricgrpc.WithInsecure()) } else { - credentials, err := common.GetTLSCredentialsForGRPCExporter(cfg.CaFile, cfg.ClientAuth) + credentials, err := common.GetTLSCredentialsForGRPCExporter( + cfg.CaFile, cfg.ClientAuth, cfg.InsecureSkipVerify, + ) if err != nil { return nil, fmt.Errorf("failed to get TLS credentials: %w", err) } @@ -47,7 +49,9 @@ func httpExporterOptions(cfg *Config) ([]otlpmetrichttp.Option, error) { if cfg.Insecure { httpExpOpt = append(httpExpOpt, otlpmetrichttp.WithInsecure()) } else { - tlsCfg, err := common.GetTLSCredentialsForHTTPExporter(cfg.CaFile, cfg.ClientAuth) + tlsCfg, err := common.GetTLSCredentialsForHTTPExporter( + cfg.CaFile, cfg.ClientAuth, cfg.InsecureSkipVerify, + ) if err != nil { return nil, fmt.Errorf("failed to get TLS credentials: %w", err) } diff --git a/cmd/telemetrygen/internal/metrics/metrics.go b/cmd/telemetrygen/internal/metrics/metrics.go index 837f8f6ee711..baed4c4b5362 100644 --- a/cmd/telemetrygen/internal/metrics/metrics.go +++ b/cmd/telemetrygen/internal/metrics/metrics.go @@ -62,7 +62,6 @@ func Start(cfg *Config) error { } if err = Run(cfg, expFunc, logger); err != nil { - logger.Error("failed to stop the exporter", zap.Error(err)) return err } @@ -71,10 +70,12 @@ func Start(cfg *Config) error { // Run executes the test scenario. func Run(c *Config, exp func() (sdkmetric.Exporter, error), logger *zap.Logger) error { + if err := c.Validate(); err != nil { + return err + } + if c.TotalDuration > 0 { c.NumMetrics = 0 - } else if c.NumMetrics <= 0 { - return fmt.Errorf("either `metrics` or `duration` must be greater than 0") } limit := rate.Limit(c.Rate) diff --git a/cmd/telemetrygen/internal/metrics/worker_test.go b/cmd/telemetrygen/internal/metrics/worker_test.go index 67539d5f009a..7574ac203757 100644 --- a/cmd/telemetrygen/internal/metrics/worker_test.go +++ b/cmd/telemetrygen/internal/metrics/worker_test.go @@ -300,6 +300,61 @@ func TestGaugeMultipleTelemetryAttr(t *testing.T) { } } +func TestValidate(t *testing.T) { + tests := []struct { + name string + cfg *Config + wantErrMessage string + }{ + { + name: "No duration or NumMetrics", + cfg: &Config{ + Config: common.Config{ + WorkerCount: 1, + }, + MetricType: metricTypeSum, + TraceID: "123", + }, + wantErrMessage: "either `metrics` or `duration` must be greater than 0", + }, + { + name: "TraceID invalid", + cfg: &Config{ + Config: common.Config{ + WorkerCount: 1, + }, + NumMetrics: 5, + MetricType: metricTypeSum, + TraceID: "123", + }, + wantErrMessage: "TraceID must be a 32 character hex string, like: 'ae87dadd90e9935a4bc9660628efd569'", + }, + { + name: "SpanID invalid", + cfg: &Config{ + Config: common.Config{ + WorkerCount: 1, + }, + NumMetrics: 5, + MetricType: metricTypeSum, + TraceID: "ae87dadd90e9935a4bc9660628efd569", + SpanID: "123", + }, + wantErrMessage: "SpanID must be a 16 character hex string, like: '5828fa4960140870'", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + m := &mockExporter{} + expFunc := func() (sdkmetric.Exporter, error) { + return m, nil + } + logger, _ := zap.NewDevelopment() + require.EqualError(t, Run(tt.cfg, expFunc, logger), tt.wantErrMessage) + }) + } +} + func configWithNoAttributes(metric metricType, qty int) *Config { return &Config{ Config: common.Config{ diff --git a/cmd/telemetrygen/internal/traces/config.go b/cmd/telemetrygen/internal/traces/config.go index 7b553b3cf04c..5bb63dffbd9a 100644 --- a/cmd/telemetrygen/internal/traces/config.go +++ b/cmd/telemetrygen/internal/traces/config.go @@ -4,6 +4,7 @@ package traces import ( + "fmt" "time" "github.com/spf13/pflag" @@ -40,3 +41,11 @@ func (c *Config) Flags(fs *pflag.FlagSet) { fs.IntVar(&c.LoadSize, "size", 0, "Desired minimum size in MB of string data for each trace generated. This can be used to test traces with large payloads, i.e. when testing the OTLP receiver endpoint max receive size.") fs.DurationVar(&c.SpanDuration, "span-duration", 123*time.Microsecond, "The duration of each generated span.") } + +// Validate validates the test scenario parameters. +func (c *Config) Validate() error { + if c.TotalDuration <= 0 && c.NumTraces <= 0 { + return fmt.Errorf("either `traces` or `duration` must be greater than 0") + } + return nil +} diff --git a/cmd/telemetrygen/internal/traces/exporter.go b/cmd/telemetrygen/internal/traces/exporter.go index 8dfb3e51d502..4d75c36635c3 100644 --- a/cmd/telemetrygen/internal/traces/exporter.go +++ b/cmd/telemetrygen/internal/traces/exporter.go @@ -22,7 +22,9 @@ func grpcExporterOptions(cfg *Config) ([]otlptracegrpc.Option, error) { if cfg.Insecure { grpcExpOpt = append(grpcExpOpt, otlptracegrpc.WithInsecure()) } else { - credentials, err := common.GetTLSCredentialsForGRPCExporter(cfg.CaFile, cfg.ClientAuth) + credentials, err := common.GetTLSCredentialsForGRPCExporter( + cfg.CaFile, cfg.ClientAuth, cfg.InsecureSkipVerify, + ) if err != nil { return nil, fmt.Errorf("failed to get TLS credentials: %w", err) } @@ -47,7 +49,9 @@ func httpExporterOptions(cfg *Config) ([]otlptracehttp.Option, error) { if cfg.Insecure { httpExpOpt = append(httpExpOpt, otlptracehttp.WithInsecure()) } else { - tlsCfg, err := common.GetTLSCredentialsForHTTPExporter(cfg.CaFile, cfg.ClientAuth) + tlsCfg, err := common.GetTLSCredentialsForHTTPExporter( + cfg.CaFile, cfg.ClientAuth, cfg.InsecureSkipVerify, + ) if err != nil { return nil, fmt.Errorf("failed to get TLS credentials: %w", err) } diff --git a/cmd/telemetrygen/internal/traces/exporter_test.go b/cmd/telemetrygen/internal/traces/exporter_test.go new file mode 100644 index 000000000000..b8af7442c836 --- /dev/null +++ b/cmd/telemetrygen/internal/traces/exporter_test.go @@ -0,0 +1,137 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package traces + +import ( + "context" + "encoding/pem" + "net/http" + "net/http/httptest" + "net/url" + "os" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" + + "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen/internal/common" +) + +func TestHTTPExporterOptions_TLS(t *testing.T) { + // TODO add test cases for mTLS + for name, tc := range map[string]struct { + tls bool + tlsServerCA bool // use the httptest.Server's TLS cert as the CA + cfg Config + + expectTransportError bool + }{ + "Insecure": { + tls: false, + cfg: Config{Config: common.Config{Insecure: true}}, + }, + "InsecureSkipVerify": { + tls: true, + cfg: Config{Config: common.Config{InsecureSkipVerify: true}}, + }, + "InsecureSkipVerifyDisabled": { + tls: true, + expectTransportError: true, + }, + "CaFile": { + tls: true, + tlsServerCA: true, + }, + } { + t.Run(name, func(t *testing.T) { + var called bool + var h http.HandlerFunc = func(http.ResponseWriter, *http.Request) { + called = true + } + var srv *httptest.Server + if tc.tls { + srv = httptest.NewTLSServer(h) + } else { + srv = httptest.NewServer(h) + } + defer srv.Close() + srvURL, _ := url.Parse(srv.URL) + + cfg := tc.cfg + cfg.CustomEndpoint = srvURL.Host + if tc.tlsServerCA { + caFile := filepath.Join(t.TempDir(), "cert.pem") + err := os.WriteFile(caFile, pem.EncodeToMemory(&pem.Block{ + Type: "CERTIFICATE", + Bytes: srv.TLS.Certificates[0].Certificate[0], + }), 0600) + require.NoError(t, err) + cfg.CaFile = caFile + } + + opts, err := httpExporterOptions(&cfg) + require.NoError(t, err) + client := otlptracehttp.NewClient(opts...) + + err = client.UploadTraces(context.Background(), []*tracepb.ResourceSpans{}) + if tc.expectTransportError { + require.Error(t, err) + assert.False(t, called) + } else { + require.NoError(t, err) + assert.True(t, called) + } + }) + } +} + +func TestHTTPExporterOptions_HTTP(t *testing.T) { + for name, tc := range map[string]struct { + cfg Config + + expectedHTTPPath string + expectedHeader http.Header + }{ + "HTTPPath": { + cfg: Config{Config: common.Config{HTTPPath: "/foo"}}, + expectedHTTPPath: "/foo", + }, + "Headers": { + cfg: Config{ + Config: common.Config{Headers: map[string]any{"a": "b"}}, + }, + expectedHTTPPath: "/v1/traces", + expectedHeader: http.Header{"a": []string{"b"}}, + }, + } { + t.Run(name, func(t *testing.T) { + var httpPath string + var header http.Header + var h http.HandlerFunc = func(_ http.ResponseWriter, r *http.Request) { + httpPath = r.URL.Path + header = r.Header + } + srv := httptest.NewServer(h) + defer srv.Close() + srvURL, _ := url.Parse(srv.URL) + + cfg := tc.cfg + cfg.Insecure = true + cfg.CustomEndpoint = srvURL.Host + opts, err := httpExporterOptions(&cfg) + require.NoError(t, err) + client := otlptracehttp.NewClient(opts...) + + err = client.UploadTraces(context.Background(), []*tracepb.ResourceSpans{}) + require.NoError(t, err) + assert.Equal(t, tc.expectedHTTPPath, httpPath) + for k, expected := range tc.expectedHeader { + assert.Equal(t, expected, []string{header.Get(k)}) + } + }) + } +} diff --git a/cmd/telemetrygen/internal/traces/traces.go b/cmd/telemetrygen/internal/traces/traces.go index 02817577b915..29c0aacc5d27 100644 --- a/cmd/telemetrygen/internal/traces/traces.go +++ b/cmd/telemetrygen/internal/traces/traces.go @@ -102,10 +102,12 @@ func Start(cfg *Config) error { // Run executes the test scenario. func Run(c *Config, logger *zap.Logger) error { + if err := c.Validate(); err != nil { + return err + } + if c.TotalDuration > 0 { c.NumTraces = 0 - } else if c.NumTraces <= 0 { - return fmt.Errorf("either `traces` or `duration` must be greater than 0") } limit := rate.Limit(c.Rate) diff --git a/cmd/telemetrygen/internal/traces/worker_test.go b/cmd/telemetrygen/internal/traces/worker_test.go index 33c921febfe5..3f9e7ec8070e 100644 --- a/cmd/telemetrygen/internal/traces/worker_test.go +++ b/cmd/telemetrygen/internal/traces/worker_test.go @@ -235,7 +235,7 @@ func TestSpanStatuses(t *testing.T) { require.NoError(t, Run(cfg, zap.NewNop())) // verify that the default the span status is set as expected for _, span := range syncer.spans { - assert.Equal(t, span.Status().Code, tt.spanStatus, fmt.Sprintf("span status: %v and expected status %v", span.Status().Code, tt.spanStatus)) + assert.Equalf(t, span.Status().Code, tt.spanStatus, "span status: %v and expected status %v", span.Status().Code, tt.spanStatus) } } else { require.Error(t, Run(cfg, zap.NewNop())) @@ -310,6 +310,36 @@ func TestSpansWithMultipleAttrs(t *testing.T) { } } +func TestValidate(t *testing.T) { + tests := []struct { + name string + cfg *Config + wantErrMessage string + }{ + { + name: "No duration or NumTraces", + cfg: &Config{ + Config: common.Config{ + WorkerCount: 1, + }, + }, + wantErrMessage: "either `traces` or `duration` must be greater than 0", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + syncer := &mockSyncer{} + + tracerProvider := sdktrace.NewTracerProvider() + sp := sdktrace.NewSimpleSpanProcessor(syncer) + tracerProvider.RegisterSpanProcessor(sp) + otel.SetTracerProvider(tracerProvider) + logger, _ := zap.NewDevelopment() + require.EqualError(t, Run(tt.cfg, logger), tt.wantErrMessage) + }) + } +} + var _ sdktrace.SpanExporter = (*mockSyncer)(nil) type mockSyncer struct { diff --git a/confmap/provider/aesprovider/Makefile b/confmap/provider/aesprovider/Makefile new file mode 100644 index 000000000000..bdd863a203be --- /dev/null +++ b/confmap/provider/aesprovider/Makefile @@ -0,0 +1 @@ +include ../../../Makefile.Common diff --git a/confmap/provider/aesprovider/README.md b/confmap/provider/aesprovider/README.md new file mode 100644 index 000000000000..36a5fc7f26c4 --- /dev/null +++ b/confmap/provider/aesprovider/README.md @@ -0,0 +1,33 @@ +## Summary + +This package provides a `confmap.Provider` implementation for symmetric AES encryption of credentials (and other sensitive values) in configurations. It relies on the environment variable `OTEL_AES_CREDENTIAL_PROVIDER` set to the value of the AES key, base64 encoded. 16, 24, or 32 byte keys are supported, selecting AES-128, AES-192, or AES-256 respectively. + +An AES 32-byte (AES-256) key can be generated using the following command: + +```shell +openssl rand -base64 32 +``` + +## How it works + Use placeholders with the following pattern `${aes:}` in a configuration. The value will be decrypted using the AES key provided in the environment variable `OTEL_AES_CREDENTIAL_PROVIDER` + +> For example: +> +> ```shell +> export OTEL_AES_CREDENTIAL_PROVIDER="GQi+Y8HwOYzs8lAOjHUqB7vXlN8bVU2k0TAKtzwJzac=" +> ``` +> +> ```yaml +> password: ${aes:RsEf6cTWrssi8tlssfs1AJs2bRMrVm2Ce5TaWPY=} +> ``` +> +> will resolve to: +> ```yaml +> password: '1' +> ``` + +## Caveats + +Since AES is a symmetric encryption algorithm, the same key must be used to encrypt and decrypt the values. If the key needs to be exchanged between the collector and a server, it should be done over a secure connection. + +When the collector persists its configuration to disk, storing the key in the environment prevents compromising secrets in the configuration. It still presents a vulnerability if the attacker has access to the collector's memory or the environment's configuration, but increases security over plaintext configurations. \ No newline at end of file diff --git a/confmap/provider/aesprovider/go.mod b/confmap/provider/aesprovider/go.mod new file mode 100644 index 000000000000..a10ebb543b43 --- /dev/null +++ b/confmap/provider/aesprovider/go.mod @@ -0,0 +1,23 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/aesprovider + +go 1.22.0 + +require ( + github.com/stretchr/testify v1.9.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.uber.org/zap v1.27.0 + +) + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/knadh/koanf/maps v0.1.1 // indirect + github.com/knadh/koanf/providers/confmap v0.1.0 // indirect + github.com/knadh/koanf/v2 v2.1.1 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/confmap/provider/aesprovider/go.sum b/confmap/provider/aesprovider/go.sum new file mode 100644 index 000000000000..51c8386def09 --- /dev/null +++ b/confmap/provider/aesprovider/go.sum @@ -0,0 +1,37 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= +github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= +github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= +github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= +github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/confmap/provider/aesprovider/metadata.yaml b/confmap/provider/aesprovider/metadata.yaml new file mode 100644 index 000000000000..41c92fa8bbd5 --- /dev/null +++ b/confmap/provider/aesprovider/metadata.yaml @@ -0,0 +1,3 @@ +status: + codeowners: + active: [djaglowski, shazlehu] \ No newline at end of file diff --git a/confmap/provider/aesprovider/provider.go b/confmap/provider/aesprovider/provider.go new file mode 100644 index 000000000000..7d493754f930 --- /dev/null +++ b/confmap/provider/aesprovider/provider.go @@ -0,0 +1,108 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package aesprovider // import "github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provider/aesprovider" + +import ( + "context" + "crypto/aes" + "crypto/cipher" + "encoding/base64" + "fmt" + "os" + "strings" + + "go.opentelemetry.io/collector/confmap" + "go.uber.org/zap" +) + +const ( + schemaName = "aes" + // This environment variable holds a base64-encoded AES key, either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. + keyEnvVar = "OTEL_AES_CREDENTIAL_PROVIDER" +) + +type provider struct { + logger *zap.Logger + key []byte +} + +// NewFactory creates a new provider factory +func NewFactory() confmap.ProviderFactory { + return confmap.NewProviderFactory( + func(settings confmap.ProviderSettings) confmap.Provider { + return &provider{ + logger: settings.Logger, + } + }) +} + +func (*provider) Scheme() string { + return schemaName +} + +func (*provider) Shutdown(context.Context) error { + return nil +} + +func (p *provider) Retrieve(_ context.Context, uri string, _ confmap.WatcherFunc) (*confmap.Retrieved, error) { + + if !strings.HasPrefix(uri, schemaName+":") { + return nil, fmt.Errorf("%q uri is not supported by %q provider", uri, schemaName) + } + + if p.key == nil { + // base64 decode env var + base64Key, ok := os.LookupEnv(keyEnvVar) + if !ok { + return nil, fmt.Errorf("env var %q not set, required for %q provider", keyEnvVar, schemaName) + } + key, err := base64.StdEncoding.DecodeString(base64Key) + if err != nil { + return nil, fmt.Errorf("%q provider uri failed to base64 decode key: %w", schemaName, err) + } + p.key = key + } + + // Remove schemaName + cipherText := strings.Replace(uri, schemaName+":", "", 1) + + clearText, err := p.decrypt(cipherText) + if err != nil { + return nil, fmt.Errorf("%q provider failed to decrypt value: %w", schemaName, err) + } + + return confmap.NewRetrieved(clearText) +} + +func (p *provider) decrypt(cipherText string) (string, error) { + + cipherBytes, err := base64.StdEncoding.DecodeString(cipherText) + if err != nil { + return "", err + } + + block, err := aes.NewCipher(p.key) + if err != nil { + return "", err + } + + aesGCM, err := cipher.NewGCM(block) + if err != nil { + return "", err + } + + nonceSize := aesGCM.NonceSize() + if len(cipherBytes) < nonceSize { + return "", fmt.Errorf("ciphertext too short") + } + + nonce, cipherBytes := cipherBytes[:nonceSize], cipherBytes[nonceSize:] + + clearBytes, err := aesGCM.Open(nil, nonce, cipherBytes, nil) + if err != nil { + return "", err + } + + return string(clearBytes), nil +} diff --git a/confmap/provider/aesprovider/provider_test.go b/confmap/provider/aesprovider/provider_test.go new file mode 100644 index 000000000000..298c01826999 --- /dev/null +++ b/confmap/provider/aesprovider/provider_test.go @@ -0,0 +1,121 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package aesprovider + +import ( + "context" + "os" + "testing" + + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/confmap" +) + +func TestAESCredentialProvider(t *testing.T) { + + tests := []struct { + name string + configValue string + expectedValue string + expectedError string + envVars map[string]string + }{ + { + name: "Valid type, key, JSON value", + configValue: `aes:RsEf6cTWrssi8tls+5Tlk3H8AQBVT2uVDcJ88zj3Sph1iSN8z97yGlxNrWf7oUHSyS4lISEcuqrQq2sPsvcl480rEajM0DIWNVoPi2ApKhADCygGoRxbykm4Tuce+rx0aWIPj1zDkuBM6NIYI1E9H2gxrH+P89Hlwmwq26S3HkqIvtW/BFAHJ8Z08iIg95NFwdbZBu4bMwY93r0KWhL0Y4xk9PGmCZhHk5jaaCgd5YREhJCH8ahenZ/t71yGdu71gSIVbg1xwGZNDKf9wRpOCW4oVQ+OWORDrgKX+58QZMOu0zjRxIkeFQV66xMIEziLYERW0xnT/GthH2+FdO/OlrUlzTBnQBbgqpp86cW1xKPFE1XeFJAIHXca7sYIjl/bz6csiUGSXKVyzApsz6fQEhaFwPGw7YKg/hN4+AEu7zYwHlpiPZyQZVE8xPEgwAy1ZKKk7nJ391ujXohXEsmc7u40bOdQmvktyjemf3KcYSCSoVqvdm49K8/ZfKgG1LMCSnHMk0HWdVGyO8jjBj3RnhpT1/dQ/aMudwPMsPFE+85GYEPTe9Sjq8erkjLRfGomDYWJhSpMESMovVRKpyjv9W+3xS0fHracj1AIx8iRQ9KNq7YKSX9n+wtE7LXMr6CUxwDs0wm1FCdVpc/JfH7BghbAh9qNSZg7qeNWQO9BG9vVa31EpRTDHOOogzGOQU2APtjc0qU65we6lpShBl2HU6S/5SgjB5m9ZnCsJSqlCQTf/e/Riuvx8l5LBlv1JNbHnLD6LO7xarpEKzR2Nc2N2+6pP86SvVB/ZqxGug06SUckjQbrmVrjU5X0RFWQAb4ZdPUobxk2xOXGhxUxEB/pDv5DcuDaEry97XsYBgzYpCtVZr8uQc5kd5jPcMsVgIYo78t+v+2yvCdYtRSHOrAcrOyBbrXCo1yI4UA9qAmfBE1PWC7km9xdhtlIAA5Szei+2oRxCwSvVO0TeYCwByDmYDolL0Tv5jtdgsPbcgnZsL/b9KRBAUU4wXKVm55mzw3AiOehX/bms84XLnRWZaxN06tJ/DiMbMcatTQP0pxk4zoemVD66wo7dA8U0nrnfP8AMfQmFQ==`, + expectedValue: `{ "type": "service_account", "project_id": "my-test-project-12345", "private_key_id": "abcdef1234567890abcdef1234567890abcdef12", "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCAmMwggJfAgEAAoGBALKlO+j9ALhlg5po\nfakePrivateKeyValue+/abc/def/123/fakeData==\n-----END PRIVATE KEY-----\n", "client_email": "test-service-account@my-test-project-12345.iam.gserviceaccount.com", "client_id": "123456789012345678901", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test-service-account%40my-test-project-12345.iam.gserviceaccount.com" }`, + + envVars: map[string]string{ + "OTEL_AES_CREDENTIAL_PROVIDER": "GQi+Y8HwOYzs8lAOjHUqB7vXlN8bVU2k0TAKtzwJzac=", + }, + }, + + { + name: "Invalid base64 key", + configValue: `aes:RsEf6cTWrssi8tlssfs1AJs2bRMrVm2Ce5TaWPY=`, + expectedError: `"aes" provider uri failed to base64 decode key: illegal base64 data at input byte 25`, + + envVars: map[string]string{ + "OTEL_AES_CREDENTIAL_PROVIDER": "GQi+Y8lN8bVU2k0TAKtzwJzac=", + }, + }, + { + name: "Invalid AES key", + configValue: `aes:RsEf6cTWrssi8tls+5Tlk3H8AQBVT2uVDcJ88zj3Sph1iSN8z97yGlxNrWf7oUHSyS4lISEcuqrQq2sPsvcl480rEajM0DIWNVoPi2ApKhADCygGoRxbykm4Tuce+rx0aWIPj1zDkuBM6NIYI1E9H2gxrH+P89Hlwmwq26S3HkqIvtW/BFAHJ8Z08iIg95NFwdbZBu4bMwY93r0KWhL0Y4xk9PGmCZhHk5jaaCgd5YREhJCH8ahenZ/t71yGdu71gSIVbg1xwGZNDKf9wRpOCW4oVQ+OWORDrgKX+58QZMOu0zjRxIkeFQV66xMIEziLYERW0xnT/GthH2+FdO/OlrUlzTBnQBbgqpp86cW1xKPFE1XeFJAIHXca7sYIjl/bz6csiUGSXKVyzApsz6fQEhaFwPGw7YKg/hN4+AEu7zYwHlpiPZyQZVE8xPEgwAy1ZKKk7nJ391ujXohXEsmc7u40bOdQmvktyjemf3KcYSCSoVqvdm49K8/ZfKgG1LMCSnHMk0HWdVGyO8jjBj3RnhpT1/dQ/aMudwPMsPFE+85GYEPTe9Sjq8erkjLRfGomDYWJhSpMESMovVRKpyjv9W+3xS0fHracj1AIx8iRQ9KNq7YKSX9n+wtE7LXMr6CUxwDs0wm1FCdVpc/JfH7BghbAh9qNSZg7qeNWQO9BG9vVa31EpRTDHOOogzGOQU2APtjc0qU65we6lpShBl2HU6S/5SgjB5m9ZnCsJSqlCQTf/e/Riuvx8l5LBlv1JNbHnLD6LO7xarpEKzR2Nc2N2+6pP86SvVB/ZqxGug06SUckjQbrmVrjU5X0RFWQAb4ZdPUobxk2xOXGhxUxEB/pDv5DcuDaEry97XsYBgzYpCtVZr8uQc5kd5jPcMsVgIYo78t+v+2yvCdYtRSHOrAcrOyBbrXCo1yI4UA9qAmfBE1PWC7km9xdhtlIAA5Szei+2oRxCwSvVO0TeYCwByDmYDolL0Tv5jtdgsPbcgnZsL/b9KRBAUU4wXKVm55mzw3AiOehX/bms84XLnRWZaxN06tJ/DiMbMcatTQP0pxk4zoemVD66wo7dA8U0nrnfP8AMfQmFQ==`, + expectedError: `"aes" provider failed to decrypt value: crypto/aes: invalid key size 1`, + + envVars: map[string]string{ + "OTEL_AES_CREDENTIAL_PROVIDER": "MQ==", + }, + }, + + { + name: "simple message", + configValue: "aes:RsEf6cTWrssi8tlssfs1AJs2bRMrVm2Ce5TaWPY=", + expectedValue: "1", + envVars: map[string]string{ + "OTEL_AES_CREDENTIAL_PROVIDER": "GQi+Y8HwOYzs8lAOjHUqB7vXlN8bVU2k0TAKtzwJzac=", + }, + }, + { + name: "empty message", + configValue: "aes:RsEf6cTWrssi8tlsZ4V68iFEJRFI8o71+QoYYw==", + expectedValue: "", + envVars: map[string]string{ + "OTEL_AES_CREDENTIAL_PROVIDER": "GQi+Y8HwOYzs8lAOjHUqB7vXlN8bVU2k0TAKtzwJzac=", + }, + }, + { + name: "Truncated base64 value", + configValue: "aes:R=", + expectedError: `"aes" provider failed to decrypt value: illegal base64 data at input byte 1`, + envVars: map[string]string{ + "OTEL_AES_CREDENTIAL_PROVIDER": "GQi+Y8HwOYzs8lAOjHUqB7vXlN8bVU2k0TAKtzwJzac=", + }, + }, + { + name: "Truncated encryted text", + configValue: "aes:MQ==", + expectedError: `"aes" provider failed to decrypt value: ciphertext too short`, + envVars: map[string]string{ + "OTEL_AES_CREDENTIAL_PROVIDER": "GQi+Y8HwOYzs8lAOjHUqB7vXlN8bVU2k0TAKtzwJzac=", + }, + }, + { + name: "Wrong schema", + configValue: "foo:MQ==", + expectedError: `"foo:MQ==" uri is not supported by "aes" provider`, + }, + { + name: "No env vars", + configValue: "aes:MQ==", + expectedError: `env var "OTEL_AES_CREDENTIAL_PROVIDER" not set, required for "aes" provider`, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + os.Clearenv() + for k, v := range tt.envVars { + if err := os.Setenv(k, v); err != nil { + t.Fatalf("Failed to set env var %s: %v", k, err) + } + } + + p := NewFactory().Create(confmap.ProviderSettings{}) + retrieved, err := p.Retrieve(context.Background(), tt.configValue, nil) + if tt.expectedError == "" { + require.NoError(t, err) + } else { + require.Error(t, err) + require.Equal(t, tt.expectedError, err.Error()) + return + } + require.NotNil(t, retrieved) + stringValue, err := retrieved.AsString() + require.NoError(t, err) + require.Equal(t, tt.expectedValue, stringValue) + }) + } +} diff --git a/confmap/provider/s3provider/README.md b/confmap/provider/s3provider/README.md index b863f876890e..d61a968b557e 100644 --- a/confmap/provider/s3provider/README.md +++ b/confmap/provider/s3provider/README.md @@ -1,5 +1,5 @@ ## Summary -This package provides a `ConfigMapProvider` implementation for Amazon S3 (`s3provider`) that allows the Collector the ability to load configuration by fetching and reading config objects stored in Amazon S3. +This package provides a `ConfigMapProvider` implementation for Amazon S3 (`s3provider`) that allows the Collector the ability to load configuration by fetching and reading config objects stored in Amazon S3. ## How it works - It will be called by `ConfigMapResolver` to load configuration for the Collector. - By giving a config URI starting with prefix `s3://`, this `s3provider` will be used to download config objects from the given S3 URIs, and then use the downloaded configuration during Collector initialization. diff --git a/confmap/provider/s3provider/go.mod b/confmap/provider/s3provider/go.mod index 64033924d128..ab4445b1f91e 100644 --- a/confmap/provider/s3provider/go.mod +++ b/confmap/provider/s3provider/go.mod @@ -3,33 +3,33 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provide go 1.22.0 require ( - github.com/aws/aws-sdk-go-v2 v1.30.4 - github.com/aws/aws-sdk-go-v2/config v1.27.31 - github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0 + github.com/aws/aws-sdk-go-v2 v1.32.3 + github.com/aws/aws-sdk-go-v2/config v1.28.1 + github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/confmap v1.18.0 go.uber.org/goleak v1.3.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.30 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.42 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 // indirect - github.com/aws/smithy-go v1.20.4 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 // indirect + github.com/aws/smithy-go v1.22.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect diff --git a/confmap/provider/s3provider/go.sum b/confmap/provider/s3provider/go.sum index 8557f18bc776..f3443a72a47f 100644 --- a/confmap/provider/s3provider/go.sum +++ b/confmap/provider/s3provider/go.sum @@ -1,43 +1,43 @@ -github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8= -github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw= -github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI= -github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs= +github.com/aws/aws-sdk-go-v2 v1.32.3 h1:T0dRlFBKcdaUPGNtkBSwHZxrtis8CQU17UpNBZYd0wk= +github.com/aws/aws-sdk-go-v2 v1.32.3/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6/go.mod h1:j/I2++U0xX+cr44QjHay4Cvxj6FUbnxrgmqN3H1jTZA= +github.com/aws/aws-sdk-go-v2/config v1.28.1 h1:oxIvOUXy8x0U3fR//0eq+RdCKimWI900+SV+10xsCBw= +github.com/aws/aws-sdk-go-v2/config v1.28.1/go.mod h1:bRQcttQJiARbd5JZxw6wG0yIK3eLeSCPdg6uqmmlIiI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42 h1:sBP0RPjBU4neGpIYyx8mkU2QqLPl5u9cmdTWVzIpHkM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42/go.mod h1:FwZBfU530dJ26rv9saAbxa9Ej3eF/AK0OAY86k13n4M= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 h1:68jFVtt3NulEzojFesM/WVarlFpCaXLKaBxDpzkQ9OQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18/go.mod h1:Fjnn5jQVIo6VyedMc0/EhPpfNlPl7dHV916O6B+49aE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 h1:Jw50LwEkVjuVzE1NzkhNKkBf9cRN7MtE1F/b2cOKTUM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22/go.mod h1:Y/SmAyPcOTmpeVaWSzSKiILfXTVJwrGmYZhcRbhWuEY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 h1:981MHwBaRZM7+9QSR6XamDzF/o7ouUGxFzr+nVSIhrs= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22/go.mod h1:1RA1+aBEfn+CAB/Mh0MB6LsdCYCnjZm7tKXtnk499ZQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 h1:mimdLQkIX1zr8GIPY1ZtALdBQGxcASiBd2MOp8m/dMc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16/go.mod h1:YHk6owoSwrIsok+cAH9PENCOGoH5PU2EllX4vLtSrsY= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 h1:GckUnpm4EJOAio1c8o25a+b3lVfwVzC9gnSBqiiNmZM= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18/go.mod h1:Br6+bxfG33Dk3ynmkhsW2Z/t9D4+lRqdLDNCKi85w0U= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 h1:jg16PhLPUiHIj8zYIW6bqzeQSuHVEiWnGA0Brz5Xv2I= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16/go.mod h1:Uyk1zE1VVdsHSU7096h/rwnXDzOzYQVl+FNPhPw7ShY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0 h1:Wb544Wh+xfSXqJ/j3R4aX9wrKUoZsJNmilBYZb3mKQ4= -github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0/go.mod h1:BSPI0EfnYUuNHPS0uqIo5VrRwzie+Fp+YhQOUs16sKI= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 h1:yV+hCAHZZYJQcwAaszoBNwLbPItHvApxT0kVIw6jRgs= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22/go.mod h1:kbR1TL8llqB1eGnVbybcA4/wgScxdylOdyAd51yxPdw= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 h1:kT6BcZsmMtNkP/iYMcRG+mIEA/IbeiUimXtGmqF39y0= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3/go.mod h1:Z8uGua2k4PPaGOYn66pK02rhMrot3Xk3tpBuUFPomZU= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 h1:qcxX0JYlgWH3hpPUnd6U0ikcl6LLA9sLkXE2w1fpMvY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3/go.mod h1:cLSNEmI45soc+Ef8K/L+8sEA3A3pYFEYf5B5UI+6bH4= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 h1:ZC7Y/XgKUxwqcdhO5LE8P6oGP1eh6xlQReWNKfhvJno= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3/go.mod h1:WqfO7M9l9yUAw0HcHaikwRd/H6gzYdz7vjejCA5e2oY= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 h1:p9TNFL8bFUMd+38YIpTAXpoxyz0MxC7FlbFEH4P4E1U= +github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2/go.mod h1:fNjyo0Coen9QTwQLWeV6WO2Nytwiu+cCcWaTdKCAqqE= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 h1:UTpsIf0loCIWEbrqdLb+0RxnTXfWh2vhw4nQmFi4nPc= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3/go.mod h1:FZ9j3PFHHAR+w0BSEjK955w5YD2UwB/l/H0yAK3MJvI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 h1:2YCmIXv3tmiItw0LlYf6v7gEHebLY45kBEnPezbUKyU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3/go.mod h1:u19stRyNPxGhj6dRm+Cdgu6N75qnbW7+QN0q0dsAk58= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 h1:wVnQ6tigGsRqSWDEEyH6lSAJ9OyFUsSnbaUWChuSGzs= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3/go.mod h1:VZa9yTFyj4o10YGsmDO4gbQJUvvhY72fhumT8W4LqsE= +github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= +github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -58,8 +58,8 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= diff --git a/confmap/provider/secretsmanagerprovider/go.mod b/confmap/provider/secretsmanagerprovider/go.mod index d9697da60962..2134e1d95255 100644 --- a/confmap/provider/secretsmanagerprovider/go.mod +++ b/confmap/provider/secretsmanagerprovider/go.mod @@ -3,27 +3,27 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/confmap/provide go 1.22.0 require ( - github.com/aws/aws-sdk-go-v2/config v1.27.31 - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.6 + github.com/aws/aws-sdk-go-v2/config v1.28.1 + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/confmap v1.18.0 ) require ( - github.com/aws/aws-sdk-go-v2 v1.30.4 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.30 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect + github.com/aws/aws-sdk-go-v2 v1.32.3 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.42 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 // indirect - github.com/aws/smithy-go v1.20.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 // indirect + github.com/aws/smithy-go v1.22.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/knadh/koanf v1.5.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect diff --git a/confmap/provider/secretsmanagerprovider/go.sum b/confmap/provider/secretsmanagerprovider/go.sum index a6c6511f18bb..11368f52a9b6 100644 --- a/confmap/provider/secretsmanagerprovider/go.sum +++ b/confmap/provider/secretsmanagerprovider/go.sum @@ -12,43 +12,43 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8= -github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= +github.com/aws/aws-sdk-go-v2 v1.32.3 h1:T0dRlFBKcdaUPGNtkBSwHZxrtis8CQU17UpNBZYd0wk= +github.com/aws/aws-sdk-go-v2 v1.32.3/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo= github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= -github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI= -github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM= +github.com/aws/aws-sdk-go-v2/config v1.28.1 h1:oxIvOUXy8x0U3fR//0eq+RdCKimWI900+SV+10xsCBw= +github.com/aws/aws-sdk-go-v2/config v1.28.1/go.mod h1:bRQcttQJiARbd5JZxw6wG0yIK3eLeSCPdg6uqmmlIiI= github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42 h1:sBP0RPjBU4neGpIYyx8mkU2QqLPl5u9cmdTWVzIpHkM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42/go.mod h1:FwZBfU530dJ26rv9saAbxa9Ej3eF/AK0OAY86k13n4M= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 h1:68jFVtt3NulEzojFesM/WVarlFpCaXLKaBxDpzkQ9OQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18/go.mod h1:Fjnn5jQVIo6VyedMc0/EhPpfNlPl7dHV916O6B+49aE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 h1:Jw50LwEkVjuVzE1NzkhNKkBf9cRN7MtE1F/b2cOKTUM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22/go.mod h1:Y/SmAyPcOTmpeVaWSzSKiILfXTVJwrGmYZhcRbhWuEY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 h1:981MHwBaRZM7+9QSR6XamDzF/o7ouUGxFzr+nVSIhrs= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22/go.mod h1:1RA1+aBEfn+CAB/Mh0MB6LsdCYCnjZm7tKXtnk499ZQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.6 h1:3TZlWvCC813uhS1Z4fVTmBhg41OYUrgSlvXqIDDkurw= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.32.6/go.mod h1:5NPkI3RsTOhwz1CuG7VVSgJCm3CINKkoIaUbUZWQ67w= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 h1:qcxX0JYlgWH3hpPUnd6U0ikcl6LLA9sLkXE2w1fpMvY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3/go.mod h1:cLSNEmI45soc+Ef8K/L+8sEA3A3pYFEYf5B5UI+6bH4= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.3 h1:CyA6J82ePPoh1Nj8ErOR2e/JRlzfFzWpGwGMFzFjwZg= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.3/go.mod h1:EliITPlGcBz0FRiVl7lRLtzI1cnDybFcfLYMZedOInE= github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 h1:UTpsIf0loCIWEbrqdLb+0RxnTXfWh2vhw4nQmFi4nPc= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3/go.mod h1:FZ9j3PFHHAR+w0BSEjK955w5YD2UwB/l/H0yAK3MJvI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 h1:2YCmIXv3tmiItw0LlYf6v7gEHebLY45kBEnPezbUKyU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3/go.mod h1:u19stRyNPxGhj6dRm+Cdgu6N75qnbW7+QN0q0dsAk58= github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 h1:wVnQ6tigGsRqSWDEEyH6lSAJ9OyFUsSnbaUWChuSGzs= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3/go.mod h1:VZa9yTFyj4o10YGsmDO4gbQJUvvhY72fhumT8W4LqsE= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= +github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= @@ -84,8 +84,8 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= @@ -268,8 +268,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= diff --git a/connector/countconnector/README.md b/connector/countconnector/README.md index 2ba23966b8ac..1155d1b73b37 100644 --- a/connector/countconnector/README.md +++ b/connector/countconnector/README.md @@ -2,12 +2,13 @@ | Status | | | ------------- |-----------| -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Fcount%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Fcount) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Fcount%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Fcount) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@djaglowski](https://www.github.com/djaglowski), [@jpkrohling](https://www.github.com/jpkrohling) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Supported Pipeline Types diff --git a/connector/countconnector/config_test.go b/connector/countconnector/config_test.go index 02f9a1a1104c..d3f37776f846 100644 --- a/connector/countconnector/config_test.go +++ b/connector/countconnector/config_test.go @@ -515,8 +515,7 @@ func TestConfigErrors(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { err := tc.input.Validate() - assert.Error(t, err) - assert.Contains(t, err.Error(), tc.expect) + assert.ErrorContains(t, err, tc.expect) }) } } diff --git a/connector/countconnector/generated_component_test.go b/connector/countconnector/generated_component_test.go index acf0c8fa24f8..84497553e240 100644 --- a/connector/countconnector/generated_component_test.go +++ b/connector/countconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateLogsToMetrics(ctx, set, cfg, router) }, }, @@ -43,7 +44,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateMetricsToMetrics(ctx, set, cfg, router) }, }, @@ -51,7 +52,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateTracesToMetrics(ctx, set, cfg, router) }, }, @@ -64,21 +65,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/countconnector/go.mod b/connector/countconnector/go.mod index 413543282f15..8026692ee7ea 100644 --- a/connector/countconnector/go.mod +++ b/connector/countconnector/go.mod @@ -3,40 +3,44 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/count go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -45,35 +49,29 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/countconnector/go.sum b/connector/countconnector/go.sum index 5f1b81243aad..f8f0ad5d3d9a 100644 --- a/connector/countconnector/go.sum +++ b/connector/countconnector/go.sum @@ -4,8 +4,10 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -20,12 +22,16 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -43,8 +49,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -55,8 +59,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -68,20 +70,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -90,46 +82,49 @@ github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZO github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -139,42 +134,59 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/countconnector/metadata.yaml b/connector/countconnector/metadata.yaml index f578355d8ce4..75ef53faff03 100644 --- a/connector/countconnector/metadata.yaml +++ b/connector/countconnector/metadata.yaml @@ -4,7 +4,7 @@ status: class: connector stability: alpha: [traces_to_metrics, metrics_to_metrics, logs_to_metrics] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [djaglowski, jpkrohling] diff --git a/connector/datadogconnector/README.md b/connector/datadogconnector/README.md index 981250c11b66..508599569b35 100644 --- a/connector/datadogconnector/README.md +++ b/connector/datadogconnector/README.md @@ -25,29 +25,22 @@ ## Description -The Datadog Connector is a connector component that computes Datadog APM Stats pre-sampling in the event that your traces pipeline is sampled using components such as the tailsamplingprocessor or probabilisticsamplerprocessor. +The Datadog Connector is a connector component that derives APM statistics, in the form of metrics, from service traces, for display in the Datadog APM product. This component is *required* for trace-emitting services and their statistics to appear in Datadog APM. -The connector is most applicable when using the sampling components such as the [tailsamplingprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor#tail-sampling-processor), or the [probabilisticsamplerprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor) in one of your pipelines. The sampled pipeline should be duplicated and the `datadog` connector should be added to the the pipeline that is not being sampled to ensure that Datadog APM Stats are accurate in the backend. +The Datadog connector can also forward the traces passed into it into another trace pipeline. Notably, if you plan to sample your traces with the [tailsamplingprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor#tail-sampling-processor) or the [probabilisticsamplerprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/probabilisticsamplerprocessor), you should place the Datadog connector upstream to ensure that the metrics are computed before sampling, ensuring their accuracy. An example is given below. ## Usage -To use the Datadog Connector, add the connector to one set of the duplicated pipelines while sampling the other. The Datadog Connector will compute APM Stats on all spans that it sees. Here is an example on how to add it to a pipeline using the [probabilisticsampler]: - - - - - - -
Before After
- ```yaml # ... processors: # ... probabilistic_sampler: sampling_percentage: 20 - # add the "datadog" processor definition - datadog: + +connectors: + # add the "datadog" connector definition and further configurations + datadog/connector: exporters: datadog: @@ -58,53 +51,21 @@ service: pipelines: traces: receivers: [otlp] - # prepend it to the sampler in your pipeline: - processors: [batch, datadog, probabilistic_sampler] + processors: [batch] + exporters: [datadog/connector] + + traces/2: # this pipeline uses sampling + receivers: [datadog/connector] + processors: [batch, probabilistic_sampler] exporters: [datadog] metrics: - receivers: [otlp] + receivers: [datadog/connector] processors: [batch] exporters: [datadog] ``` - - -```yaml -# ... -processors: - probabilistic_sampler: - sampling_percentage: 20 - -connectors: - # add the "datadog" connector definition and further configurations - datadog/connector: - -exporters: - datadog: - api: - key: ${env:DD_API_KEY} - -service: - pipelines: - traces: - receivers: [otlp] - processors: [batch] - exporters: [datadog/connector] - - traces/2: # this pipeline uses sampling - receivers: [datadog/connector] - processors: [batch, probabilistic_sampler] - exporters: [datadog] - - metrics: - receivers: [datadog/connector] - processors: [batch] - exporters: [datadog] -``` -
- -Here we have two traces pipelines that ingest the same data but one is being sampled. The one that is sampled has its data sent to the datadog backend for you to see the sampled subset of the total traces sent across. The other non-sampled pipeline of traces sends its data to the metrics pipeline to be used in the APM stats. This unsampled pipeline gives the full picture of how much data the application emits in traces. +In this example configuration, incoming traces are received through OTLP, and processed by the Datadog connector in the `traces` pipeline. The traces are then forwarded to the `traces/2` pipeline, where a sample of them is exported to Datadog. In parallel, the APM stats computed from the full stream of traces are sent to the `metrics` pipeline, where they are exported to Datadog as well. ## Configurations @@ -172,7 +133,7 @@ connectors: ## @param resource_attributes_as_container_tags - enables the use of resource attributes as container tags - Optional ## A list of resource attributes that should be used as container tags. # - # resource_attributes_as_container_tags: ["could.availability_zone", "could.region"] + # resource_attributes_as_container_tags: ["cloud.availability_zone", "cloud.region"] ## @param bucket_interval specifies the time interval size of aggregation buckets that aggregate the Datadog trace metrics. ## It is also the time interval that Datadog trace metrics payloads are flushed to the pipeline. diff --git a/connector/datadogconnector/config.go b/connector/datadogconnector/config.go index 57a8b6182530..f0c2abd3b549 100644 --- a/connector/datadogconnector/config.go +++ b/connector/datadogconnector/config.go @@ -4,11 +4,9 @@ package datadogconnector // import "github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector" import ( - "fmt" - "regexp" - "time" - "go.opentelemetry.io/collector/component" + + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" ) var _ component.Config = (*Config)(nil) @@ -19,100 +17,11 @@ type Config struct { Traces TracesConfig `mapstructure:"traces"` } +// Deprecated: [v0.110.0] Use `datadog.TracesConnectorConfig` instead. // TracesConfig defines the traces specific configuration options -type TracesConfig struct { - // ignored resources - // A blocklist of regular expressions can be provided to disable certain traces based on their resource name - // all entries must be surrounded by double quotes and separated by commas. - // ignore_resources: ["(GET|POST) /healthcheck"] - IgnoreResources []string `mapstructure:"ignore_resources"` - - // SpanNameRemappings is the map of datadog span names and preferred name to map to. This can be used to - // automatically map Datadog Span Operation Names to an updated value. All entries should be key/value pairs. - // span_name_remappings: - // io.opentelemetry.javaagent.spring.client: spring.client - // instrumentation:express.server: express - // go.opentelemetry.io_contrib_instrumentation_net_http_otelhttp.client: http.client - SpanNameRemappings map[string]string `mapstructure:"span_name_remappings"` - - // If set to true the OpenTelemetry span name will used in the Datadog resource name. - // If set to false the resource name will be filled with the instrumentation library name + span kind. - // The default value is `false`. - SpanNameAsResourceName bool `mapstructure:"span_name_as_resource_name"` - - // If set to true, enables an additional stats computation check on spans to see they have an eligible `span.kind` (server, consumer, client, producer). - // If enabled, a span with an eligible `span.kind` will have stats computed. If disabled, only top-level and measured spans will have stats computed. - // NOTE: For stats computed from OTel traces, only top-level spans are considered when this option is off. - // If you are sending OTel traces and want stats on non-top-level spans, this flag will need to be enabled. - // If you are sending OTel traces and do not want stats computed by span kind, you need to disable this flag and disable `compute_top_level_by_span_kind`. - ComputeStatsBySpanKind bool `mapstructure:"compute_stats_by_span_kind"` - - // If set to true, root spans and spans with a server or consumer `span.kind` will be marked as top-level. - // Additionally, spans with a client or producer `span.kind` will have stats computed. - // Enabling this config option may increase the number of spans that generate trace metrics, and may change which spans appear as top-level in Datadog. - // ComputeTopLevelBySpanKind needs to be enabled in both the Datadog connector and Datadog exporter configs if both components are being used. - // The default value is `false`. - ComputeTopLevelBySpanKind bool `mapstructure:"compute_top_level_by_span_kind"` - - // If set to true, enables aggregation of peer related tags (e.g., `peer.service`, `db.instance`, etc.) in the datadog connector. - // If disabled, aggregated trace stats will not include these tags as dimensions on trace metrics. - // For the best experience with peer tags, Datadog also recommends enabling `compute_stats_by_span_kind`. - // If you are using an OTel tracer, it's best to have both enabled because client/producer spans with relevant peer tags - // may not be marked by the datadog connector as top-level spans. - // If enabling both causes the datadog connector to consume too many resources, try disabling `compute_stats_by_span_kind` first. - // A high cardinality of peer tags or APM resources can also contribute to higher CPU and memory consumption. - // You can check for the cardinality of these fields by making trace search queries in the Datadog UI. - // The default list of peer tags can be found in https://github.com/DataDog/datadog-agent/blob/main/pkg/trace/stats/concentrator.go. - PeerTagsAggregation bool `mapstructure:"peer_tags_aggregation"` - - // [BETA] Optional list of supplementary peer tags that go beyond the defaults. The Datadog backend validates all tags - // and will drop ones that are unapproved. The default set of peer tags can be found at - // https://github.com/DataDog/datadog-agent/blob/505170c4ac8c3cbff1a61cf5f84b28d835c91058/pkg/trace/stats/concentrator.go#L55. - PeerTags []string `mapstructure:"peer_tags"` +type TracesConfig = datadogconfig.TracesConnectorConfig - // TraceBuffer specifies the number of Datadog Agent TracerPayloads to buffer before dropping. - // The default value is 1000. - TraceBuffer int `mapstructure:"trace_buffer"` - - // ResourceAttributesAsContainerTags specifies the list of resource attributes to be used as container tags. - ResourceAttributesAsContainerTags []string `mapstructure:"resource_attributes_as_container_tags"` - - // BucketInterval specifies the time interval size of aggregation buckets that aggregate the Datadog trace metrics. - // It is also the time interval that Datadog trace metrics payloads are flushed to the pipeline. - // If you are concerned about the metric volume generated by the Datadog connector and the resulting networking egress, try increasing bucket_interval. - // Default is 10s if unset. - BucketInterval time.Duration `mapstructure:"bucket_interval"` -} - -// Validate the configuration for errors. This is required by component.Config. +// Validate checks if the configuration is valid func (c *Config) Validate() error { - if c.Traces.IgnoreResources != nil { - for _, entry := range c.Traces.IgnoreResources { - _, err := regexp.Compile(entry) - if err != nil { - return fmt.Errorf("%q is not valid resource filter regular expression", entry) - } - } - } - - if c.Traces.SpanNameRemappings != nil { - for key, value := range c.Traces.SpanNameRemappings { - if value == "" { - return fmt.Errorf("%q is not valid value for span name remapping", value) - } - if key == "" { - return fmt.Errorf("%q is not valid key for span name remapping", key) - } - } - } - - if c.Traces.TraceBuffer < 0 { - return fmt.Errorf("Trace buffer must be non-negative") - } - - if c.Traces.BucketInterval < 0 { - return fmt.Errorf("bucket interval must be non-negative") - } - - return nil + return c.Traces.Validate() } diff --git a/connector/datadogconnector/config_test.go b/connector/datadogconnector/config_test.go index 55bf3481eb8d..092eee911fdd 100644 --- a/connector/datadogconnector/config_test.go +++ b/connector/datadogconnector/config_test.go @@ -8,10 +8,11 @@ import ( "time" "github.com/stretchr/testify/assert" + + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" ) func TestValidate(t *testing.T) { - tests := []struct { name string cfg *Config @@ -21,36 +22,46 @@ func TestValidate(t *testing.T) { name: "span name remapping valid", cfg: &Config{ Traces: TracesConfig{ - SpanNameRemappings: map[string]string{"old.opentelemetryspan.name": "updated.name"}, + TracesConfig: datadogconfig.TracesConfig{ + SpanNameRemappings: map[string]string{"old.opentelemetryspan.name": "updated.name"}, + }, }, }, }, { name: "span name remapping empty val", cfg: &Config{Traces: TracesConfig{ - SpanNameRemappings: map[string]string{"oldname": ""}, + TracesConfig: datadogconfig.TracesConfig{ + SpanNameRemappings: map[string]string{"oldname": ""}, + }, }}, - err: "\"\" is not valid value for span name remapping", + err: "'' is not valid value for span name remapping", }, { name: "span name remapping empty key", cfg: &Config{Traces: TracesConfig{ - SpanNameRemappings: map[string]string{"": "newname"}, + TracesConfig: datadogconfig.TracesConfig{ + SpanNameRemappings: map[string]string{"": "newname"}, + }, }}, - err: "\"\" is not valid key for span name remapping", + err: "'' is not valid key for span name remapping", }, { name: "ignore resources valid", cfg: &Config{Traces: TracesConfig{ - IgnoreResources: []string{"[123]"}, + TracesConfig: datadogconfig.TracesConfig{ + IgnoreResources: []string{"[123]"}, + }, }}, }, { name: "ignore resources missing bracket", cfg: &Config{Traces: TracesConfig{ - IgnoreResources: []string{"[123"}, + TracesConfig: datadogconfig.TracesConfig{ + IgnoreResources: []string{"[123"}, + }, }}, - err: "\"[123\" is not valid resource filter regular expression", + err: "'[123' is not valid resource filter regular expression", }, { name: "With trace_buffer", @@ -63,12 +74,16 @@ func TestValidate(t *testing.T) { cfg: &Config{Traces: TracesConfig{ TraceBuffer: -10, }}, - err: "Trace buffer must be non-negative", + err: "trace buffer must be non-negative", }, { name: "With peer_tags", cfg: &Config{ - Traces: TracesConfig{PeerTags: []string{"tag1", "tag2"}}, + Traces: TracesConfig{ + TracesConfig: datadogconfig.TracesConfig{ + PeerTags: []string{"tag1", "tag2"}, + }, + }, }, }, { diff --git a/connector/datadogconnector/connector.go b/connector/datadogconnector/connector.go index 33aed6d20e1f..50e01a3b41c2 100644 --- a/connector/datadogconnector/connector.go +++ b/connector/datadogconnector/connector.go @@ -21,7 +21,7 @@ import ( "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" - semconv "go.opentelemetry.io/collector/semconv/v1.17.0" + semconv "go.opentelemetry.io/collector/semconv/v1.27.0" "go.opentelemetry.io/otel/metric/noop" "go.uber.org/zap" ) diff --git a/connector/datadogconnector/connector_native_test.go b/connector/datadogconnector/connector_native_test.go index 3a7ba0a1e1da..dc3c67c2f093 100644 --- a/connector/datadogconnector/connector_native_test.go +++ b/connector/datadogconnector/connector_native_test.go @@ -18,7 +18,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/pdata/ptrace" - semconv "go.opentelemetry.io/collector/semconv/v1.5.0" + semconv "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/testing/protocmp" @@ -145,6 +145,8 @@ func TestMeasuredAndClientKindNative(t *testing.T) { td := ptrace.NewTraces() res := td.ResourceSpans().AppendEmpty().Resource() res.Attributes().PutStr("service.name", "svc") + res.Attributes().PutStr(semconv.AttributeDeploymentEnvironmentName, "my-env") + ss := td.ResourceSpans().At(0).ScopeSpans().AppendEmpty().Spans() // Root span s1 := ss.AppendEmpty() @@ -200,6 +202,7 @@ func TestMeasuredAndClientKindNative(t *testing.T) { require.NoError(t, err) assert.Len(t, sp.Stats, 1) assert.Len(t, sp.Stats[0].Stats, 1) + assert.Equal(t, "my-env", sp.Stats[0].Env) assert.Len(t, sp.Stats[0].Stats[0].Stats, 3) cgss := sp.Stats[0].Stats[0].Stats sort.Slice(cgss, func(i, j int) bool { diff --git a/connector/datadogconnector/connector_test.go b/connector/datadogconnector/connector_test.go index 9a3bfe143122..71ca2db0e58d 100644 --- a/connector/datadogconnector/connector_test.go +++ b/connector/datadogconnector/connector_test.go @@ -21,7 +21,7 @@ import ( "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - semconv "go.opentelemetry.io/collector/semconv/v1.5.0" + semconv "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "google.golang.org/protobuf/proto" ) diff --git a/connector/datadogconnector/factory.go b/connector/datadogconnector/factory.go index c3d3b18ab126..f5f4b95a7ff2 100644 --- a/connector/datadogconnector/factory.go +++ b/connector/datadogconnector/factory.go @@ -18,6 +18,7 @@ import ( "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector/internal/metadata" + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" ) const nativeIngestFeatureGateName = "connector.datadogconnector.NativeIngest" @@ -43,9 +44,12 @@ func NewFactory() connector.Factory { func createDefaultConfig() component.Config { return &Config{ Traces: TracesConfig{ - IgnoreResources: []string{}, - TraceBuffer: 1000, - BucketInterval: 10 * time.Second, + TracesConfig: datadogconfig.TracesConfig{ + IgnoreResources: []string{}, + }, + + TraceBuffer: 1000, + BucketInterval: 10 * time.Second, }, } } diff --git a/connector/datadogconnector/factory_test.go b/connector/datadogconnector/factory_test.go index ed081d6d1d6d..f92056baa295 100644 --- a/connector/datadogconnector/factory_test.go +++ b/connector/datadogconnector/factory_test.go @@ -9,6 +9,8 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/component/componenttest" + + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" ) func TestCreateDefaultConfig(t *testing.T) { @@ -18,9 +20,11 @@ func TestCreateDefaultConfig(t *testing.T) { assert.Equal(t, &Config{ Traces: TracesConfig{ - IgnoreResources: []string{}, - TraceBuffer: 1000, - BucketInterval: 10 * time.Second, + TracesConfig: datadogconfig.TracesConfig{ + IgnoreResources: []string{}, + }, + TraceBuffer: 1000, + BucketInterval: 10 * time.Second, }, }, cfg, "failed to create default config") diff --git a/connector/datadogconnector/generated_component_test.go b/connector/datadogconnector/generated_component_test.go index 70267838900f..299417144987 100644 --- a/connector/datadogconnector/generated_component_test.go +++ b/connector/datadogconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateTracesToMetrics(ctx, set, cfg, router) }, }, @@ -43,7 +44,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_traces", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{component.NewID(component.DataTypeTraces): consumertest.NewNop()}) + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{pipeline.NewID(pipeline.SignalTraces): consumertest.NewNop()}) return factory.CreateTracesToTraces(ctx, set, cfg, router) }, }, @@ -56,21 +57,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/datadogconnector/go.mod b/connector/datadogconnector/go.mod index 06a25417fd06..c81e919860bc 100644 --- a/connector/datadogconnector/go.mod +++ b/connector/datadogconnector/go.mod @@ -3,108 +3,115 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/datad go 1.22.0 require ( - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 - github.com/DataDog/datadog-agent/pkg/proto v0.56.2 - github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 + github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1 + github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1 + github.com/DataDog/datadog-agent/pkg/proto v0.58.1 + github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85 github.com/DataDog/datadog-go/v5 v5.5.0 - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0 github.com/google/go-cmp v0.6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.112.0 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel/metric v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/otelcol v0.112.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 + go.opentelemetry.io/collector/processor v0.112.0 + go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel/metric v1.31.0 go.uber.org/zap v1.27.0 - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 ) require ( - cloud.google.com/go/compute/metadata v0.5.0 // indirect - github.com/DataDog/agent-payload/v5 v5.0.131 // indirect - github.com/DataDog/datadog-agent/comp/core/config v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect + github.com/DataDog/agent-payload/v5 v5.0.134 // indirect + github.com/DataDog/datadog-agent/comp/core/config v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1 // indirect github.com/DataDog/datadog-agent/comp/core/log v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 // indirect + github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1 // indirect github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 // indirect - github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 // indirect - github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/version v0.56.2 // indirect - github.com/DataDog/datadog-api-client-go/v2 v2.29.0 // indirect - github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe // indirect - github.com/DataDog/go-sqllexer v0.0.13 // indirect + github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/env v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/model v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/status/health v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/http v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/system v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/version v0.58.1 // indirect + github.com/DataDog/datadog-api-client-go/v2 v2.31.0 // indirect + github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 // indirect + github.com/DataDog/go-sqllexer v0.0.14 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0 // indirect github.com/DataDog/sketches-go v1.4.6 // indirect github.com/DataDog/viper v1.13.5 // indirect github.com/DataDog/zstd v1.5.5 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/aws/aws-sdk-go v1.55.5 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -118,6 +125,7 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect @@ -131,7 +139,7 @@ require ( github.com/go-openapi/jsonpointer v0.20.2 // indirect github.com/go-openapi/jsonreference v0.20.4 // indirect github.com/go-openapi/swag v0.22.9 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/goccy/go-json v0.10.3 // indirect github.com/godbus/dbus/v5 v5.0.6 // indirect @@ -159,7 +167,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect github.com/karrick/godirwalk v1.17.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -177,31 +185,32 @@ require ( github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 // indirect github.com/opencontainers/runtime-spec v1.1.0-rc.3 // indirect github.com/openshift/api v3.9.0+incompatible // indirect github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 // indirect github.com/outcaste-io/ristretto v0.2.1 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/philhofer/fwd v1.1.2 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/errors v0.9.1 // 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/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.1 // indirect @@ -216,81 +225,83 @@ require ( github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.112.0 // indirect + go.opentelemetry.io/collector/config/confighttp v0.112.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/atomic v1.11.0 // indirect - go.uber.org/dig v1.17.1 // indirect - go.uber.org/fx v1.18.2 // indirect + go.uber.org/dig v1.18.0 // indirect + go.uber.org/fx v1.22.2 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/time v0.6.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/zorkian/go-datadog-api.v2 v2.30.0 // indirect - k8s.io/api v0.31.0 // indirect - k8s.io/apimachinery v0.31.0 // indirect - k8s.io/client-go v0.31.0 // indirect + k8s.io/api v0.31.2 // indirect + k8s.io/apimachinery v0.31.2 // indirect + k8s.io/client-go v0.31.2 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect @@ -362,3 +373,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling = replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil => ../../internal/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata => ../../pkg/experimentalmetricmetadata + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog => ../../pkg/datadog diff --git a/connector/datadogconnector/go.sum b/connector/datadogconnector/go.sum index 8778706266fb..9bb9ca34cfc9 100644 --- a/connector/datadogconnector/go.sum +++ b/connector/datadogconnector/go.sum @@ -28,8 +28,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -66,166 +66,172 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= -github.com/DataDog/agent-payload/v5 v5.0.131 h1:i5l0FLY+rpVzS1hBrwR0NxQOmIg+ypXDi7xytGXnaBM= -github.com/DataDog/agent-payload/v5 v5.0.131/go.mod h1:FgVQKmVdqdmZTbxIptqJC/l+xEzdiXsaAOs/vGAvWzs= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2 h1:RUbkDO8Fa67vuKVqQgK1iBk4oM8PtjG09I1w/UdAZUU= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2/go.mod h1:wA3ZO6a8v0tuHLj1aT0eKcBmZY7QmuThxEVQTf6gEPY= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2 h1:EYLWks4f2GeqzwvhyvfhARVpmBRQaoKARvnbKoSk7Kg= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2/go.mod h1:B7o1FsKlzr4JSS+CYKYuyABr3eaaq2W7fIA56ntxGHQ= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2 h1:HqmPb8Qy4gAKdKB8Nrt3FzD5BWatxr6vUVO4//Wf/JY= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2/go.mod h1:njrswNWNeJqFot4U31iWy6DFzm4Bg1PWkt2yEh9hfGU= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 h1:wIGNGeNJPaX7byBWBPnaL4clGAEeIl3IR4o/v+vGIno= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2/go.mod h1:oPs3OkQOyKRX/kERWQGMpIHG6j9J5kIlBdm2R6OyWHE= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 h1:3SeIZmDiXPKGNJKHF2C7KNWjuCM1vLJ+vBtWKpIsrqU= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2/go.mod h1:SUizcQZHTU7Aezk/XKiZjPpt7Ng8x4AsAcr5PlxyP7w= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 h1:t+w11Lqi5XvUpqKGx1GKzlc//1it9H31JOUiJViWUpA= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2/go.mod h1:YJDw2LKcZMO8aSsCrLZm7ZYSOyc/1sNfSE2xv+T5pu4= +github.com/DataDog/agent-payload/v5 v5.0.134 h1:h0oP3vDTOsjW1uKIZxKsCjOV/40jkY2Y+42GKAVH9ig= +github.com/DataDog/agent-payload/v5 v5.0.134/go.mod h1:FgVQKmVdqdmZTbxIptqJC/l+xEzdiXsaAOs/vGAvWzs= +github.com/DataDog/datadog-agent/cmd/agent/common/path v0.58.1 h1:qCxfW7qyhhsdJnGQQzVXOrILt9jvhzo+v2Hm3tcdIXM= +github.com/DataDog/datadog-agent/cmd/agent/common/path v0.58.1/go.mod h1:LgVdZDnVJLlQyZy+F3gcXlahFQP+d0CBsHA1H7PX9zw= +github.com/DataDog/datadog-agent/comp/api/api/def v0.58.1 h1:C7wPyBs7C8nWkTelRv3ihemiwbTiQV2Huo8NAJsunTc= +github.com/DataDog/datadog-agent/comp/api/api/def v0.58.1/go.mod h1:9vuv+8TTwPN8fCdKeHztCViIZI0PE3JPNb7mrSkN6YI= +github.com/DataDog/datadog-agent/comp/core/config v0.58.1 h1:XMhjjeclNRy4nzCvl14ghTCGhKEqWA9M8FhrVB+YAqU= +github.com/DataDog/datadog-agent/comp/core/config v0.58.1/go.mod h1:V9vNFazrr5yEj8i9z4BR1wqNgny8n0O22quVWkK7KH0= +github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1 h1:Q+2izdaeFpqtEeLaMyD5cuv9Db6fAelD07jESXLbaPs= +github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1/go.mod h1:uFVwSuJH4LccQcHY02jVCDeuT7o7/YNzNfUhsMm7iv8= +github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1 h1:t75NGqyCMV8BEPfnemnLcMP6RbbalkNemt0PY6ypDUY= +github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1/go.mod h1:t4ToNFTlcVXu7SRWyKnOwZCUPEe/R3M07d9ugGQlEt8= +github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1 h1:w6frETj5GpqcQSgWYmlzdCeFGLOhJ5DP4ly0Hg4KXv8= +github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1/go.mod h1:KVkaJZupoHcZUUP0b142c9ce1823f48mkv4D9QeWASs= github.com/DataDog/datadog-agent/comp/core/log v0.56.2 h1:qvBT+FfjKGqimyEvmsNHCZKbTfBJAdUZSVy2IZQ8HS4= github.com/DataDog/datadog-agent/comp/core/log v0.56.2/go.mod h1:ivJ/RMZjTNkoPPNDX+v/nnBwABLCiMv1vQA5tk/HCR4= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 h1:6/FSx8WPy/L86LFPWB0YPsiWLvIvcvFbWnba/PDkeo0= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2/go.mod h1:gIs5mmRdE2epD1iYxNvdx2EhXrUfa2jebR+CU+0vYCo= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 h1:oMhfpqlRYwyhUdiN/mQRvI/aWkQERsGWBQscdDwQZ3A= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2/go.mod h1:YkMtv/JWcPabF1jGiReg6eCuFYXyFi5PxOMoNTlFiJs= -github.com/DataDog/datadog-agent/comp/def v0.56.2 h1:EOQj5viXX5l47Su32muRE5uILjdNDsgiOcEqsi6BNgc= -github.com/DataDog/datadog-agent/comp/def v0.56.2/go.mod h1:DEWoZ2fdGE8yy5Q/p8w06DLm3cBWxW8i9a/xNUxE2qc= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 h1:/II2MLkmHKsm/myoui8NIp55mY1gnoOGlEmYTtLvjdw= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2/go.mod h1:q0u4J9s2y0AcqcUHOG1gk4NlgxbVD5G8c7BNKNoGrro= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 h1:SXJCwx6giD8IeQLyVX62gRysBEHx3vczkprPmln1knk= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2/go.mod h1:0o4qKCsmoFkYSgOTKL5UMR1/Ig0pX4bA6gJZjuu8/K4= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 h1:P1u8lJDnCHiWc0vvvvm9JB36fRFJ2eSvD9ajVo0x1r8= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2/go.mod h1:hruCkJ5hCU6LZ5jkdnST3BHanHeQ73ewPAWIW/oZVmw= +github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1 h1:wptv/dRe52IlFCayDURcGv6Qqm7GkMjKuaWxi1U7sIU= +github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1/go.mod h1:uFF83DUAQYoQKKdddr6ptnCPiRik/lr9y+B2JxgLWRs= +github.com/DataDog/datadog-agent/comp/core/log/mock v0.58.1 h1:9nYkfgNzTr+dBdbwA3DTn+AFaa/cvckF2IXh4PQHDoQ= +github.com/DataDog/datadog-agent/comp/core/log/mock v0.58.1/go.mod h1:qiV16tfwbVFcnxs4iYwCq6pm5lUB61zbpkOY0jeN3+o= +github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1 h1:w9xjHRoQB8AaFBsevSaVQDRVP+xyLzj8Qrn2D6C+edM= +github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1/go.mod h1:j555JcL/6ZnoOZ8HCsJhQJyve5XYqN1sofrnUBot9oU= +github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1 h1:p5kJdvUS2JpZnsHK93OwO6FYZD8qPeOi2McD5qY1I+U= +github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1/go.mod h1:uysZ8Wyrc467/T+crgZl5qTrcD7ZaKVGOI0I5wcLziM= +github.com/DataDog/datadog-agent/comp/def v0.58.1 h1:a/H9ZuJBH4a2/9yiOFuvhZpa5Ve2uXuFA2t1kuLquss= +github.com/DataDog/datadog-agent/comp/def v0.58.1/go.mod h1:2xorAm6FmIl275/ayDZSUg53Hz4oQ/X8ELyp7I1N3fM= +github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1 h1:Hn3ZL+/mKwrU8YxbrlNVx5gbCPOQnGrpP2CLfPYPPGA= +github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1/go.mod h1:ebZc2pxI00zxkm+JKrXGh7Ux1NXTLtI7hO73077sZ+w= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1 h1:eT1YJ1DC1tZkWAklk3JeJgd1m3yMNCrhfi5pq0D7bHA= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1/go.mod h1:B0L+mSxgJlVDGgjs/8xsEMrN0nxStRjxQjHB1UbvC7M= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1 h1:sJt2fJIm+96b/4nJz/HSwBe16Ptp0gDqkU+OF8GhsCg= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1/go.mod h1:XmC/ksPgWEE2OmOdzoHg5wbiDh2pFeGopH5Kg6uF0Rw= github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 h1:yBmr913VGRz/PFcpLVnXGTQQu7tIB+jMQ8Sss7936qk= github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27/go.mod h1:niRElZ9+yd0uG84z4Az+da3JX9UpRu5MrbB32KtF4xI= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 h1:TmEsHhs1mcKsiWTK08aYvZrNZqlbs51FwN6yQVMe7No= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2/go.mod h1:D56XSQiApc7kNzkF2FCJG/6D/8SV3jhdWqe0dDSRGoM= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 h1:WTK6fTNgSCuVrz3dngS7R82rq9SVI+E8oQehd/2eEU0= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2/go.mod h1:tXejTCnqylzUGUBmFF8tcinp+nPCeMqL350Nl/qV5DU= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1 h1:RJ5Nf2NunhMfMIl8xLiiLKzly2eyILwdlI645wU3rww= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1/go.mod h1:+n0h11ZT+xyHcylRCnn8sBVW0m7Zn/PE6C8r1IbFMik= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1 h1:KA090W6qxCIfqXxulOX7rEiv00VBhYLf2+vjGiaodfQ= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1/go.mod h1:U5EqA7GQg6vRzZGCqgDcW/kZ5ggNaT+53I5Yif5EAaY= github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d h1:wdjJ+/tBYiFLwno+lBPP66rm5jIf6ycGPRr21ogBBzE= github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d/go.mod h1:CHa8CY2k0/wZkx/4KPi/WU/0m5YCfWZI1SAs1imElMA= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 h1:sp+1EdyRYwAygX6FzVxl0V1vQCdfOJMHfsQavkZlXus= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 h1:NV9Grkuvy5W3ye7JRczn3lpNRn+qgUMwGKuwP9nKcqY= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2/go.mod h1:K1IRoBfCpCikrKNSXi+fi+X0ukAP0ZoyoTF5AovP11c= +github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1 h1:8+OWYB+Z7qNsC+DAcQLeWJ5rDh8FyZfVbgIc5jScXPA= +github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1 h1:2AvGJDj3UNfA2F0dr4kOKOoDbiBiwDFfAYTMpnRDs18= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1/go.mod h1:ubORopslgVNCvOIVTYmMDwov3xiMZPIdwUq5VZhDvQc= github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3 h1:Hq2tQTaFcEJy9o1QFb9Ql/gm0uRzrYQkFEZGPVKLMHI= github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3/go.mod h1:TOlu5v8b46+aW9h3KLZdOiwz3gJkoQerT3+F3st6ZRA= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 h1:OWZmy3BPMkjDjDp+mIYdGS+jjFUx3jK/sDJI/AjtvaY= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 h1:TWsAiPjYKomf5FqRodShgzRRI+oP/537/myvW5GIXT8= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2/go.mod h1:1gXwnxusuGZQim0dtfidr7P1R/WGZGwY4HJvLKJUqMk= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2 h1:sgipVv0WUoKO9RNSYFhNXH4wicevfU+yti8+rZDClFo= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2/go.mod h1:RA+h+P2M7BlBeU+XVuZXhTj8lzjXdEoCLP28EkcYV8s= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 h1:XjB3XpimhNFgHYztUZAFTbSg7G3BzbVqAdYhbf3OSEs= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2/go.mod h1:wm7zXdwf0zknLgc9lpz2H70fRP2xA9WHL0LEscxtDXQ= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 h1:WMKs6IwIUpPrZ8KoiTL2Dw6y7UUQJs8v7VkuZc1s0jA= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2/go.mod h1:fYK7gt2JvuTmS5JeGCxui1Id8ZFkv2PUJrdnBvNhlxQ= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 h1:nhTqSjxsOTf5UsSkWY9SxRRpN+qsiV5/I4MrSyjVuc8= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2/go.mod h1:s0ndzOnxWvO1TSdrhEtjXtnjb838Pkzxj0AmHpiKK7U= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 h1:VIlQd7UBq3oUoUbpRmiwIlkDZuGvAXS/wUXU6xmezwk= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2/go.mod h1:Vm8HdkHHpEwZhixY0oPWsx0+EidhSaMTF7tN9yuMPFY= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 h1:1qg4WagIl2qtKcq9cVL2fRBhqvYQ5DuYaY7cFJ+293k= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2/go.mod h1:Wb8Rxw8BdbLQPzwNXtpWUO9+bBfZhyB63/8oYFLv/GQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 h1:0AF1X1OabT8vCTYK3Aim122xkg6bAMUJXYTcH/RL7pQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2/go.mod h1:AFPiROajOY3I6akR+WsKwGIriBPiTHRBfx8tmw8hGRw= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 h1:iduodazC+WDi7ZzRKYZvzFNq2GsxtgIgrzkwK19//3k= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2/go.mod h1:Qrr7ursqqUvokjJTBklUzL3Vk1THLi1NMpUhY/jGKEc= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 h1:0aETddrtn7SOZqCX9tOEiRgPgKKG2u9X9YMnNaboQYM= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2/go.mod h1:mVRXyOp9oiPkj43jRt3r/iTL+XuScLKJjv3MzDvB5eQ= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 h1:vuZjsCYaGwAazLKiLSHqCm/fsGeRmONN/rIneQWEXBE= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2/go.mod h1:YX4mkRMvBjp3/X+8Lf39g/AntSZurqL6UIYdJdK2k/M= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 h1:AJoG4f9WoOgYnzmk12gY5TjPsS+lZTg9wK90oWEhtlU= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2/go.mod h1:9XZDNW8LRR1yk/H8QvVmHNAEkrtEDXrsgEKd7WdU3pc= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 h1:coxL4HfNDRh9KCIHod9vMT5iBkmU0LV3U4xcHmZ9YCk= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2/go.mod h1:vBywuPyeY7FAW+bpIqAoVKIBxX4JoIQ2GDaAtVgMk24= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 h1:Ky5KX2o++a7hGkyiNBwqDGODrhBI7LmLZXtnFCjS8Ic= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2/go.mod h1:IhlLrrI3hWySfPYFMqtlY9kNg4ECz7ojpviXJhdILbQ= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 h1:KjrdVk+88cnPk2iWOz2Go1BZlLW0ulrPBNlq2oiStC0= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2/go.mod h1:cQ/XredS3KBuGthDWqwOhiwkMGStRCjt6VuEJMVvfTc= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 h1:DLgBADfWqBrhM8n5DRg9UvrnxYqU+BW3QvvUGAqkpRA= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2/go.mod h1:PaduNrh0GJ3UEKG30VMu0M6hi7KuYf3VviLdIG9xV9k= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 h1:f1aTHRfL7YToK03+xmBACsuOwHYZoqP74PdYoNJL2x0= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2/go.mod h1:p2NTG+cIhVGlKELJfRteGCec37ICptIpeB2x/MsRkbw= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2 h1:GhiXTsuUbGloQh7Um5AX0JmggwDn9/x0icWOTNEjovI= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2/go.mod h1:Ple3tPG2mBALotrP7KH/A6CY7M+3npX6+/Zl5bwY7EM= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qcg03KcP2v/dkFnuEy+qC0jWgZi1SP4jfx/BOpL0ayY= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:icOxQ1JBek3L0WCQXsKD+VhRc3S0rn71/bUkt6tKVSY= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2 h1:i6zUPUGL6QWZVxTAsFBvTcn4GSPRY3dnqPBC6kiEsB4= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2/go.mod h1:HG4/o+jZ2T6+bhTOKQj+3ikKGhFLWTp5Kib9swNxTeY= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 h1:c+KHCZcoUBhjNpoYkpys4v/eN4Q+eEktUE2vyhVHKw0= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2/go.mod h1:If8HaT8MFPv9NdWDtaQfEy1OUB6RiMFeQwLSay7G91U= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 h1:XbVTbfBXqCnr48Yg3yFfBRzP3B/Y1yS5pqpKJX59RU0= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 h1:jda5gGyoU/lXVqQsr1xv+z8K8ujLX4MppiMNtMH5chQ= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2/go.mod h1:u6BWbLlCuVOu77ntX0x5af1qNISD0wtMj5c6ojfHQyk= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qEUqimASiw9IfkDKxHqcZ6M6w0TREBGPVlePP3Ng/No= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:6oieT7MVbPg52r1pHQkiNavDIK7pN1ZKsudT9s0kLzY= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 h1:AWmZSmqPmm2QHsQtmB6MiNaq0ssp9/4fhq4aiGqJ1Sg= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 h1:myVkrQcWHHALBxNVO+BE88IvF/MmFNXEusb59dWAG0k= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2/go.mod h1:JkzBRRIF14HkunWu+gPPCQxm4FW8dDg+6ioBDaKYdco= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 h1:XN+YzFS2mUF9OYrxQIPZdgiYhJzc+CUZgrXs8WL8y/A= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2/go.mod h1:mSSn2OzsdgoUnPyBmF8rEDU+ee1RFp+H6LFsJSteN9o= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 h1:Lhy+q1zl9EQSM97ixD770xwFirtPF/69O13qnO8OxHo= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2/go.mod h1:GD+HjlsNGhPAjAYrNjt/XXq+lHgor1Piia+Mlat/97s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 h1:FOnoG/i37bWlZfVhS/a1icX83dUtSCsixZYi3qTxT1s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2/go.mod h1:bI6jSFleEMzkMlm+dmjNs4T7a6R9PDIgWdAyW6cIBkY= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 h1:1lgz81YwRXqGqYqX65mTDBHWLgpUBP67giv3sVthYig= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2/go.mod h1:g+gn4N6q/QoVjAvMFWJFcTc8nnwVx2LqaUEoj0Y/MSE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 h1:yu88zoYRzyd0EK4F7bJ39D8ibJa82y+x4u0JHeeQoxE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2/go.mod h1:jVsNYokuDBLoj/5SMCrjmtZc+yfiBBfHN7Nkhw9VJdI= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 h1:dcdsyPFTHFr+Cl/OfNt5VJWZl/TY0Xo5KYTDD316Ep4= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2/go.mod h1:DWliXBL5ROdWFjUHuh5fh5ve5zHydidMM/hE/w3j/Ww= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 h1:ZxVlp133lU1sxOSOC3Qk75ADTXLkVMiubE/+Fpsd5Jk= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2/go.mod h1:xWT/KJdJg2/0pZyAKZ6XmIiE5sM+AyUo4qvKuPHQ17U= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 h1:LkFVlpKVHvefsAYtUUA87gYBO6D0KC5ncB7tFsBJFJM= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2/go.mod h1:t1DlnUEMltkvwPLc7zCtP1u5cBDu+30daR2VhQO5bvA= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 h1:RPonaHh3OKj1VCmaBJWYhrlS4m+VXvJAW/LuDwcFXG8= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 h1:9oHsY5RiebLoONStzy1OTG168WvPMnF8rU9TCgn/v+Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2/go.mod h1:IkqOyNbrg9hXqCMyL+g+Ldhz4q6VVOPqbHQxS4lLiRs= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 h1:lf2s/5Z8FQlMDK+881Dg/UIIQbHBdDM0gu/PJwPSgE0= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2/go.mod h1:Et2HSDjQvMhgs9ZdH7T5I4q04g5Fj23EtmeIaen/9/M= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 h1:yPztPIEPPeDgxJoOFVVR9lcIA2NF8ScGdplU2puav1U= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2/go.mod h1:AbeAoUquORgGoRhQ9hDqJO/n4nCw7+/k5dgq/ZysWWI= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 h1:EQuMMdAd7uTeYCcHsyL6mUixMGtcU0PiAjea170xEAA= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2/go.mod h1:tBwAMDAEJEaZ5VNe19GJoLLzviZGOPUJH0WnzETWhyY= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2 h1:P4u0CtJqWV0xJ3N+smRjktS/IlZlf4jMMHdcuSUw3kQ= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2/go.mod h1:m/uWLdpGEi3x/5gybZFeYNEnIdKhGtWW8kFZuM+GSFA= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 h1:5Cg+O4+Npt8BMuot5KpRdN5TVw9lqRxUBkcr6W9Bss8= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2/go.mod h1:lZaWAGe78MiYFRHwbHS1NikRXtiYz3CsEiYbyMJyPTk= -github.com/DataDog/datadog-agent/pkg/version v0.56.2 h1:gUTMxa47ARBNxIex1g40Gi3xprhq1QMMvzqsP3yxdNw= -github.com/DataDog/datadog-agent/pkg/version v0.56.2/go.mod h1:rcA7LtIB5WLpxsems/bWO1iXkyGEgHHje7vJ0b20ZpU= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0 h1:b0vTasEPUc7FuCKaRFqbJB+88IdWL/f7LdKcasMV8Vo= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0/go.mod h1:QKOu6vscsh87fMY1lHfLEmNSunyXImj8BUaUWJXOehc= +github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1 h1:LB9F2ZdoALCYujG/TDMrCoDi7IL05tNlhD/BQb7RL/0= +github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= +github.com/DataDog/datadog-agent/pkg/config/env v0.58.1 h1:YhKbV1EfmgLEFfoeRqr7DqdpBzV+30DaIeHu7xGnapc= +github.com/DataDog/datadog-agent/pkg/config/env v0.58.1/go.mod h1:6FCvy/nHjY3E13LqVFhKdrwkdD59sAMCoUESvNC/8QE= +github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1 h1:Qbkey2DK4WTjlFORrEsXzBca4TxKiQ7Jq7dCicRBYmE= +github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1/go.mod h1:fmG7tclqfAQDBu0CLKlsy3+GOUeXfI5HMzYrvwOXmdk= +github.com/DataDog/datadog-agent/pkg/config/model v0.58.1 h1:Imt01AqHsNQUJA3GYJ7lrFQGwLxMz3WCS3+nmJNWiwc= +github.com/DataDog/datadog-agent/pkg/config/model v0.58.1/go.mod h1:B9tLaMWBCXO+2dYGah6Kh2CnXct/YOTBJ8AOOzCVYPY= +github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1 h1:mzman+9pntGbveBcSVtB2Mn7LHZKimjhulcYA5s4UY4= +github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1/go.mod h1:/6fP610zDfmDnImPGbQLNtaEEFhyraqwh/kQN4uBy5U= +github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1 h1:nrVwOQA0/3Btluw9pl8qMPRkSTVM15hV9+XdvbqSaVQ= +github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1/go.mod h1:7u3s+AJfoD0u0Zj8Y+pS3RqHw5xLPV/Iy+Ula0VqJoc= +github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1 h1:CWt5fCaKA+EpAViBPj7NhP/SIdFXWAYd/0FK5EbLKDQ= +github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1/go.mod h1:SYA0dEleRVBhm7NfiI1+9nQRTxCuxfMFkS47Jwad2fY= +github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1 h1:YgGdHVCpsym4+l0M0TrTZtX41QURPaDr3+KY88aRut4= +github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1/go.mod h1:1OVE8Ft8qZKhljwx/905Ks3QEH3kxsbzDjj/xO+yHTA= +github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1 h1:FSmQXdrJ9xbMsXrXjqhDkbe+HxetWJShl74HPWvW01k= +github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1/go.mod h1:zHRKWkv9DnZOkzy5I/4/NC08VaK932KgV+ZTJG8T6J4= +github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1 h1:dGfGSczTFZ5XodbIEPDzuUtazwSqKjmO9c74l+lfOK0= +github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1/go.mod h1:7KshFX6L4XyHYDHRzjJf8i30BD+/g31zazEW7B9YvYc= +github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1 h1:vEJOgkln0gnEnhuc1RGxWgJhYcIArjd6uUrpln7TxDk= +github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1/go.mod h1:Cf1EuvbAxBJiCEjbo5YdwQm4lzvc538od81EivDKI2Q= +github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1 h1:1DOFEtbBB7rlY5hRYUkhqWY/7obpfFurEAezqx3MLSk= +github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1/go.mod h1:eFHfGgbKKq0WxfH1ZTir1yuVjMj2e+7B/AoRhu2dFls= +github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1 h1:eKms4zIGeztAUp4KV47sBDvTVHUGIMISgYUqRe2xJPo= +github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1/go.mod h1:nZnAC/EpR50cwzKT0adh/aVZqOM+KjY9LP5QjxYWkzc= +github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1 h1:drola26wLanYu+2QsaLRjs8JYlqwzQ5CYT9HL69FRkY= +github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1/go.mod h1:Y7AVNkF1qk3MZNEcudr9TDmxZ5OajXGcCWW/rDV7FGs= +github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1 h1:HLufYwWJgayxGnk63n0HQKsOedfRuRDlFgRcfjZce40= +github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1/go.mod h1:w8TFbRe3cI9hMqg4gaRndsi34DhFtUPch85cyTbbIVA= +github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1 h1:1AOzIxGnxUzXNka2X1IF3dsraoKyZjDhvBNXzd/H0E8= +github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1/go.mod h1:MbjV4G8qwNuYmLV+VNvFzic8dhi3oJ4s6pRjnL++2mM= +github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1 h1:852RVSP9NwRWUKJDPdX1rwbvfbnmc7KW52um/vI94sI= +github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1/go.mod h1:PaduNrh0GJ3UEKG30VMu0M6hi7KuYf3VviLdIG9xV9k= +github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1 h1:QKWAyvtXHvnBkaUUO0bK3OZEhRxjy8nkXSiR9OPxzW8= +github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1/go.mod h1:p2NTG+cIhVGlKELJfRteGCec37ICptIpeB2x/MsRkbw= +github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.58.1 h1:ez1UdNanPIANoaeaX1rxZ6BWtS4NLpW6z16Z6cnizmM= +github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.58.1/go.mod h1:r+PTdoz31HJ9CnYo1lehKtxbYNtVNdRl1w8to4GfeGY= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85 h1:+jlg745q9znKME0F2Y51QuPT9crQ02oIjUj3qVtV8IU= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85/go.mod h1:MfDvphBMmEMwE3a30h27AtPO7OzmvdoVTiGY1alEmo4= +github.com/DataDog/datadog-agent/pkg/proto v0.58.1 h1:e02xf1fucgUJhaeL3dV7tIlkqR7lgDLTuw0YU7bs2Co= +github.com/DataDog/datadog-agent/pkg/proto v0.58.1/go.mod h1:0wLYojGxRZZFQ+SBbFjay9Igg0zbP88l03TfZaVZ6Dc= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1 h1:SJGxzjjFuqQwR02i1w+WVQCvNqqeNEWXClARxLiqhe4= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1/go.mod h1:jN5BsZI+VilHJV1Wac/efGxS4TPtXa1Lh9SiUyv93F4= +github.com/DataDog/datadog-agent/pkg/status/health v0.58.1 h1:YXkNMrpO4zGCMpka9FyH/K5qU4ZnSXgO2EgEbT60fsw= +github.com/DataDog/datadog-agent/pkg/status/health v0.58.1/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= +github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1 h1:aW9M0G7rIbkJ1KAd85AEqCTnm/zuXBXcnywkiYyvfKE= +github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1/go.mod h1:1s6YQn7CDkajI/H9oQL9IESuGLm1BEv8nOBPszPP5gw= +github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85 h1:NenBahnbhBDEMLwR5AfK54VLFidK34xcr61BX/t/8vo= +github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85/go.mod h1:SXT+/FonH8qi6U6YzrBERefqPXuxo4UTu4CEH6dU49M= +github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1 h1:bFq5Khge3NxXkBAFdbg20P8feHcFEmZoBcwbVfaFGy0= +github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= +github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1 h1:iIBqix7R3ScMJl/VuwqEuGgBdxgtfisBqtcrN2OAEsw= +github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1/go.mod h1:YcPnoCJG+lITZJFfnRjR2BSlAE5jYgUFLcbQ2mDQ6rA= +github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1 h1:DFjL8kk3i5iT2IGVH6kAaZA2nbZwvXZFej7KKx1jb/o= +github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1/go.mod h1:mSSn2OzsdgoUnPyBmF8rEDU+ee1RFp+H6LFsJSteN9o= +github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1 h1:sg6Yomy9PNVPmGEAxJOajcX9jsPh/BDaEoL/2RJTaKk= +github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1/go.mod h1:FCT+cY6ET+CMdsS5dfCAvV9GUuuLda9axjqbnFJNdns= +github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1 h1:ktZGvl10inyuSbzNDGhOd7gNQOCj41afhQDrfw5M6eU= +github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1/go.mod h1:RhQTOoV0kECZDqR3GPW+6XaOMieKgmsHB2E7o2carX4= +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 h1:lzV6MTx2an9dvS1ZiA3HjHdXFMBEPyR94G0ka+bV4hk= +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1/go.mod h1:w1E+8Vlj5hmfedxSezwJyY29X2uecrBlC+CHCVgi0wI= +github.com/DataDog/datadog-agent/pkg/util/http v0.58.1 h1:MmxSih3z2zH0iyYQ7ViO37xUvMpF2XZWYURWHCDSB5E= +github.com/DataDog/datadog-agent/pkg/util/http v0.58.1/go.mod h1:JeR/nRdRnShAxpdAQN2hhMQw64zzlF9uYmYAjOvqzvg= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 h1:J5ce1aQqwyorBqUzGuQVnDvTB0aiUOS94N0l6VV40E4= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1/go.mod h1:bDZiE0NzmmlgdXrwdFtJzmCuZNJ0f0/JXbOJ7WOJ2eY= +github.com/DataDog/datadog-agent/pkg/util/log/setup v0.58.1 h1:A8J/gNR4ArTl7sCrAsAwmjGwOl5E2NpB/33pu4sEz0A= +github.com/DataDog/datadog-agent/pkg/util/log/setup v0.58.1/go.mod h1:ehok75MGxlrn3lwArlwFShwJ+k2vvDyKKO7/187vZJ4= +github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1 h1:qAK08JIqCuUYkkgb+2g/38CK5HZxJycdK9eZrHH9caY= +github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1/go.mod h1:xWT/KJdJg2/0pZyAKZ6XmIiE5sM+AyUo4qvKuPHQ17U= +github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1 h1:s+ZcsVFeVZ5Ro1AM6r6DRiw3fvlzQMQcQltIkjYj79c= +github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1/go.mod h1:t1DlnUEMltkvwPLc7zCtP1u5cBDu+30daR2VhQO5bvA= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 h1:fFQnuwiCxku+6PNaa2N5CCgyth87E4EM4emoo72pYao= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= +github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1 h1:A5zRpSmVgvi1oWabM2E0QtW0F+dHdI3vyJmxsjtxYpg= +github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1/go.mod h1:IkqOyNbrg9hXqCMyL+g+Ldhz4q6VVOPqbHQxS4lLiRs= +github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1 h1:0HpkHFWLd9EtfXs5/qTYhTrG1gCRL4eJYpx8nrl7yVU= +github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1/go.mod h1:Et2HSDjQvMhgs9ZdH7T5I4q04g5Fj23EtmeIaen/9/M= +github.com/DataDog/datadog-agent/pkg/util/system v0.58.1 h1:8bUkKgP3U54tesa6q9sz/3+bCWzEp7Ut9SJqvt+PeEg= +github.com/DataDog/datadog-agent/pkg/util/system v0.58.1/go.mod h1:3piBklKk0g32OkoswgG+4hX+7hwASWOo+HGS767lUvQ= +github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1 h1:MURqn7scjqddntVTM6p2KoHf6umm3k7h0h63X5bYZ/Y= +github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1/go.mod h1:Hp16ayANpEIMDhh2bQtHzUZKp3CbnK58+UkClmaEyYg= +github.com/DataDog/datadog-agent/pkg/util/testutil v0.58.1 h1:pdUXCai8VLXqyYYxuZ43uEfgv8uzbRE+TFEvi8MN4xM= +github.com/DataDog/datadog-agent/pkg/util/testutil v0.58.1/go.mod h1:m/uWLdpGEi3x/5gybZFeYNEnIdKhGtWW8kFZuM+GSFA= +github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1 h1:xXFZ8o3G1PAsa8uAvbOBPOMG9FYi8lNf7SmR8yJ7Ro8= +github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1/go.mod h1:5Izptk2xo5z5wIL6sAQw3erTweX8fEZIoKIc1Cxk6aE= +github.com/DataDog/datadog-agent/pkg/version v0.58.1 h1:R+hw9PnwuW6qPwAlyP6SG3DHXApxMIHklfE+AV02yig= +github.com/DataDog/datadog-agent/pkg/version v0.58.1/go.mod h1:rcA7LtIB5WLpxsems/bWO1iXkyGEgHHje7vJ0b20ZpU= +github.com/DataDog/datadog-api-client-go/v2 v2.31.0 h1:JfJhYlHfLzvauI8u6h23smTooWYe6quNhhg9gpTszWY= +github.com/DataDog/datadog-api-client-go/v2 v2.31.0/go.mod h1:d3tOEgUd2kfsr9uuHQdY+nXrWp4uikgTgVCPdKNK30U= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe h1:efzxujZ7VHWFxjmWjcJyUEpPrN8qdiZPYb+dBw547Wo= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= -github.com/DataDog/go-sqllexer v0.0.13 h1:9mKfe+3s73GI/7dWBxi2Ds7+xZynJqMKK9cIUBrutak= -github.com/DataDog/go-sqllexer v0.0.13/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 h1:RoH7VLzTnxHEugRPIgnGlxwDFszFGI7b3WZZUtWuPRM= +github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= +github.com/DataDog/go-sqllexer v0.0.14 h1:xUQh2tLr/95LGxDzLmttLgTo/1gzFeOyuwrQa/Iig4Q= +github.com/DataDog/go-sqllexer v0.0.14/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee h1:tXibLZk3G6HncIFJKaNItsdzcrk4YqILNDZlXPTNt4k= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee/go.mod h1:nTot/Iy0kW16bXgXr6blEc8gFeAS7vTqYlhAxh+dbc0= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 h1:BSxE140Gynn3ZeH56ofYzv8I0X0slxGfuY5iyH1sHVs= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0/go.mod h1:BaxI6A5wpYHicrxm/65NTpW6kHxHcO24M7CKmZEMilE= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0 h1:rP4hnNCufRM2OsnFy0Tf00r6mu19fcQxfVN4E1rD5mY= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0/go.mod h1:66XlN7QpQKqIvw8e2UbCXV5X8wGnEw851nT9BjJ75dY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 h1:TOcwknwAfubzVfGSC0VJX9C5LjC0dpQxM8ltVE/55R0= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 h1:37H9gltcqOfrIaTD5BbgMkHdEQCphETz/s+ThFoxWTg= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0/go.mod h1:PqMDslg4Fn+rzrFpPdagRARa/CbtLuNYYj7vGv+RfFQ= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 h1:JnRJqpnG0tDVTsD9uU6Xk9Nh/ozuLa4emyR+t7WxIto= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0/go.mod h1:OEECw1sTZq5HfYzpl5C8Md/8wjsnmxF5lxFmv3Ey2CA= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 h1:SAczemPbq9qyzyi8Crd8MvEjYQXwsTUxR8tJlXLqnmk= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0/go.mod h1:Rhxlru6B8yfLZ4VSjuAuMnWdPgP8X60kvRjrdt84iNU= +github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0 h1:jdsuH8u4rxfvy3ZHoSLk5NAZrQMNZqyJwhM15FpEswE= +github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0/go.mod h1:KI5I5JhJNOQWeE4vs+qk+BY/9PVSDwNmSjrCUrmuZKw= +github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.20.0 h1:e4XT2+v4vgZBCbp5JUbe0Z+PRegh+nsLMp4X+esht9E= +github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.20.0/go.mod h1:66XlN7QpQKqIvw8e2UbCXV5X8wGnEw851nT9BjJ75dY= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 h1:fKv05WFWHCXQmUTehW1eEZvXJP65Qv00W4V01B1EqSA= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0 h1:JLpKc1QpkaUXEFgN68/Q9XgF0XgbVl/IXd8S1KUcEV4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0/go.mod h1:VJtgUHCz38obs58oEjNjEre6IaHmR+s7o4DvX74knq4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0 h1:b60rxWT/EwcSA4l/zXfqTZp3udXJ1fKtz7+Qwat8OjQ= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0/go.mod h1:6jM34grB+zhMrzWgM0V8B6vyIJ/75oAfjcx/mJWv6cE= +github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0 h1:0OFAPO964qsj6BzKs/hbAkpO/IIHp7vN1klKrohzULA= +github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0/go.mod h1:IDaKpBfDtw8eWBLtXR14HB5dsXDxS4VRUR0OL5rlRT8= github.com/DataDog/sketches-go v1.4.6 h1:acd5fb+QdUzGrosfNLwrIhqyrbMORpvBy7mE+vHlT3I= github.com/DataDog/sketches-go v1.4.6/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/DataDog/viper v1.13.5 h1:SZMcyMknYQN2jRY/40A16gUXexlNJOI8sDs1cWZnI64= github.com/DataDog/viper v1.13.5/go.mod h1:wDdUVJ2SHaMaPrCZrlRCObwkubsX8j5sme3LaR/SGTc= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3 h1:cb3br57K508pQEFgBxn9GDhPS9HefpyMPK1RzmtMNzk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= @@ -247,6 +253,10 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 h1:t3eaIm0rUkzbrIewtiFmMK5RXHej2XnoXNhxVsAYUfg= github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= @@ -260,8 +270,8 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= -github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q= +github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -283,8 +293,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 h1:N+3sFI5GUjRKBi+i0TxYVST9h4Ie192jJWpHvthBBgg= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/containerd/cgroups/v3 v3.0.3 h1:S5ByHZ/h9PMe5IOQoN7E+nMc2UcLEM/V48DGDJ9kip0= github.com/containerd/cgroups/v3 v3.0.3/go.mod h1:8HBe7V3aWGLFPd/k03swSIsGjZhHI2WzJmticMgVuz0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= @@ -324,6 +334,8 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= @@ -338,11 +350,11 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 h1:IgJPqnrlY2Mr4pYB6oaMKvFvwJ9H+X6CCY5x1vCTcpc= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA= +github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= +github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= @@ -400,8 +412,8 @@ github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -522,8 +534,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/grpc-ecosystem/grpc-gateway v1.13.0/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= -github.com/hashicorp/consul/api v1.29.4 h1:P6slzxDLBOxUSj3fWo2o65VuKtbtOXFi7TSSgtXutuE= -github.com/hashicorp/consul/api v1.29.4/go.mod h1:HUlfw+l2Zy68ceJavv2zAyArl2fqhGWnMycyt56sBgg= +github.com/hashicorp/consul/api v1.30.0 h1:ArHVMMILb1nQv8vZSGIwwQd2gtc+oSQZ6CalyiyH2XQ= +github.com/hashicorp/consul/api v1.30.0/go.mod h1:B2uGchvaXVW2JhFoS8nqTxMD5PBykr4ebY4JWHTTeLM= github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= github.com/hashicorp/cronexpr v1.1.2/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -602,8 +614,8 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -626,8 +638,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= +github.com/leodido/go-syslog/v4 v4.2.0 h1:A7vpbYxsO4e2E8udaurkLlxP5LDpDbmPMsGnuhb7jVk= +github.com/leodido/go-syslog/v4 v4.2.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/lightstep/go-expohisto v1.0.0 h1:UPtTS1rGdtehbbAF7o/dhkWLTDI73UifG8LbfQI7cA4= @@ -722,6 +734,8 @@ github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -743,8 +757,8 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.4.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -755,8 +769,8 @@ github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7q github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -771,8 +785,8 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -783,8 +797,8 @@ github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xe github.com/shirou/gopsutil/v3 v3.22.12/go.mod h1:Xd7P1kwZcp5VW52+9XsirIKd/BROzbb2wdX3Kqlz9uI= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= @@ -866,6 +880,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= @@ -880,150 +895,160 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:q8LQW1V9uUbZFzDKD0JTH92H6VRIaFcx2y/ooT44WyA= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:8CPsp2ek4qlcnaJEM3g/YQ6/2kNIwqDwO/wOmAgYvO0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1 h1:OH250Z/bXJTZjkeMwUERbLZiNPETlOxE3q4n536Kc4s= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1/go.mod h1:3QSnFvGq5jXXwSPi94x2ggBGPZxdtD0lxpPOpV3RZRc= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 h1:qt3Ew48qyCQVMrpjCWkQu1N4RzghQUZIxV4X+TBs4ZE= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:iNMJ4W+R9LUqr8uyeEIthuOKVEQBMYS32ePBza3Ofbk= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:DSgsLqj0L0m7rQdzWsC/fvE4qvzJSggqmaur0wGucZ4= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:CSvxn55s4JFEEJ0UoYoXbj8XoBFl7Oj26bAE9kAcNTE= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:FgbrQxhUTqcizMI+3s91kPONM1WX+JOFCL9ghzWKe2c= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2VxvUC07PujwiYY1KjJjgEFJ0kiY2pAs+slZbtct2t8= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:MMCQJrhmZU1QEzWWodPgsHg/hJ+fXwTb9jc4nYTP6aY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0U6x1xcDuvHEgoH/2TzEmbsG47VwpK2FPD0L93DTxFQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 h1:ZWEsXeCbNUP4GXRvlkVXBpqIH9rNtnk1knZDORo/7zA= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0/go.mod h1:76mYXizxjo8rcRsvyTuNtPykVuqmZWGcV6lGs7+++J8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 h1:529bKb9LBG8WJYxLJikl6/yUoJ+EB7BYkg3cagh/slI= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0/go.mod h1:GQgYpmD2rIGwSNd0Lz5tbVzuEyj9xdmqPN0xbkCYtts= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 h1:ZB2PoClyiXsIs6k7RxmpEtduWWjT01pQ8joXWiJ0kzo= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0/go.mod h1:q5RafpmzsbsAhs0PCz6jbMOl7XYkp0f2NYs4lxQbkOI= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 h1:Suz/1SdAyeY+UPKJDt9RuWGxUOu8p2P6bhuon00VhGU= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0/go.mod h1:DVhlqmbajKH3JjJuW727d7FUkkLhyY/QcaL1xn9NREk= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/filter v0.112.0 h1:xX0MIfXOkbcWzCcmNqvtpnBDnSZAJmN1nQdyGZk1Or4= +go.opentelemetry.io/collector/filter v0.112.0/go.mod h1:ZcPbD9CLxqcQJ5D2dV2Ma0Hm2IKMOYggTLW8dDdZQSQ= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0 h1:u1hUa48x1qEONUSOtz8dx/c8oz74RpIHyWnGFJ7t0CE= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0/go.mod h1:BtHruDt40QTW8klZVQCqsVfhVsOkh6hDg5w1cPvLpeU= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 h1:Dq/RpdClawI8HrnSi177LziPjfHo733BWOCgRTbWrfY= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0/go.mod h1:QLQ31rGjPuMc/nGw4rL4HzQI9F0jVAPEmC342chxoqA= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 h1:+V+4OUcg1s3CrZpttT4dA+Uuv7VWpOIPQpOkcsrMBIo= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0/go.mod h1:f/eEZ3JMbRNLsRzNwATtTjuulDrLvhYMvXinLrmHtTU= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 h1:3Kd8zHKqytBpSvPo0cGi0iCfe5zTMpUgnsNsK9shDMg= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0/go.mod h1:1KqtFWaQ6duvMqk6mCdRPqySXPBr9Ubr0EW9lEr/9A4= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1031,10 +1056,10 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= -go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= -go.uber.org/fx v1.18.2 h1:bUNI6oShr+OVFQeU8cDNbnN7VFsu+SsjHzUF51V/GAU= -go.uber.org/fx v1.18.2/go.mod h1:g0V1KMQ66zIRk8bLu3Ea5Jt2w/cHlOIp4wdRsgh0JaY= +go.uber.org/dig v1.18.0 h1:imUL1UiY0Mg4bqbFfsRQO5G4CGRBec/ZujWTvSVp3pw= +go.uber.org/dig v1.18.0/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= +go.uber.org/fx v1.22.2 h1:iPW+OPxv0G8w75OemJ1RAnTUrF55zOJlXlo1TbJ0Buw= +go.uber.org/fx v1.22.2/go.mod h1:o/D9n+2mLP6v1EG+qsdT1O8wKopYAsqZasju97SDFCU= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -1056,9 +1081,10 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1096,6 +1122,7 @@ golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hM golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1139,8 +1166,10 @@ golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1150,8 +1179,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1163,6 +1192,7 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1213,22 +1243,27 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1237,8 +1272,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1302,6 +1338,7 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1377,10 +1414,10 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1399,8 +1436,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1411,8 +1448,8 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= @@ -1451,14 +1488,14 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/connector/exceptionsconnector/README.md b/connector/exceptionsconnector/README.md index d6a29fee099d..fea3a60aa03d 100644 --- a/connector/exceptionsconnector/README.md +++ b/connector/exceptionsconnector/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Fexceptions%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Fexceptions) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Fexceptions%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Fexceptions) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling), [@marctc](https://www.github.com/marctc) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Supported Pipeline Types diff --git a/connector/exceptionsconnector/connector.go b/connector/exceptionsconnector/connector.go index 517848cf50e9..c465a1ff42ac 100644 --- a/connector/exceptionsconnector/connector.go +++ b/connector/exceptionsconnector/connector.go @@ -5,7 +5,7 @@ package exceptionsconnector // import "github.com/open-telemetry/opentelemetry-c import ( "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil" ) diff --git a/connector/exceptionsconnector/connector_logs.go b/connector/exceptionsconnector/connector_logs.go index 7126980e8e4c..e8de93475aee 100644 --- a/connector/exceptionsconnector/connector_logs.go +++ b/connector/exceptionsconnector/connector_logs.go @@ -11,7 +11,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" diff --git a/connector/exceptionsconnector/connector_metrics.go b/connector/exceptionsconnector/connector_metrics.go index a53d4f70c3ce..a9a62d39143e 100644 --- a/connector/exceptionsconnector/connector_metrics.go +++ b/connector/exceptionsconnector/connector_metrics.go @@ -14,7 +14,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" diff --git a/connector/exceptionsconnector/connector_test.go b/connector/exceptionsconnector/connector_test.go index df029791549d..fcdb12ca3219 100644 --- a/connector/exceptionsconnector/connector_test.go +++ b/connector/exceptionsconnector/connector_test.go @@ -8,7 +8,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) const ( diff --git a/connector/exceptionsconnector/generated_component_test.go b/connector/exceptionsconnector/generated_component_test.go index 45f86dfad4de..a2e720ad9b78 100644 --- a/connector/exceptionsconnector/generated_component_test.go +++ b/connector/exceptionsconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_logs", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{component.NewID(component.DataTypeLogs): consumertest.NewNop()}) + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{pipeline.NewID(pipeline.SignalLogs): consumertest.NewNop()}) return factory.CreateTracesToLogs(ctx, set, cfg, router) }, }, @@ -43,7 +44,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateTracesToMetrics(ctx, set, cfg, router) }, }, @@ -56,21 +57,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/exceptionsconnector/go.mod b/connector/exceptionsconnector/go.mod index e4f21d6d5b04..f26226736b5e 100644 --- a/connector/exceptionsconnector/go.mod +++ b/connector/exceptionsconnector/go.mod @@ -3,34 +3,34 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/excep go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -38,31 +38,25 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/exceptionsconnector/go.sum b/connector/exceptionsconnector/go.sum index 88dbe60cb3c8..fa163753325a 100644 --- a/connector/exceptionsconnector/go.sum +++ b/connector/exceptionsconnector/go.sum @@ -1,5 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -10,8 +8,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -23,8 +21,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -35,8 +31,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -46,66 +40,58 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -129,12 +115,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -145,10 +131,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/exceptionsconnector/metadata.yaml b/connector/exceptionsconnector/metadata.yaml index 368c1b59f2e8..648ba9341f8d 100644 --- a/connector/exceptionsconnector/metadata.yaml +++ b/connector/exceptionsconnector/metadata.yaml @@ -4,7 +4,7 @@ status: class: connector stability: alpha: [traces_to_metrics, traces_to_logs] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [jpkrohling, marctc] diff --git a/connector/failoverconnector/README.md b/connector/failoverconnector/README.md index 329c113223f5..bcb9c59ea36e 100644 --- a/connector/failoverconnector/README.md +++ b/connector/failoverconnector/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Ffailover%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Ffailover) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Ffailover%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Ffailover) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@akats7](https://www.github.com/akats7), [@djaglowski](https://www.github.com/djaglowski), [@fatsheep9146](https://www.github.com/fatsheep9146) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Supported Pipeline Types diff --git a/connector/failoverconnector/config.go b/connector/failoverconnector/config.go index 3ea82c03fe36..d5ce66d55ade 100644 --- a/connector/failoverconnector/config.go +++ b/connector/failoverconnector/config.go @@ -7,7 +7,7 @@ import ( "errors" "time" - "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/pipeline" ) var ( @@ -19,7 +19,7 @@ type Config struct { // PipelinePriority is the list of pipeline level priorities in a 1 - n configuration, multiple pipelines can // sit at a single priority level and will be routed in a fanout. If any pipeline at a level fails, the // level is considered unhealthy - PipelinePriority [][]component.ID `mapstructure:"priority_levels"` + PipelinePriority [][]pipeline.ID `mapstructure:"priority_levels"` // RetryInterval is the frequency at which the pipeline levels will attempt to recover by going over // all levels below the current diff --git a/connector/failoverconnector/config_test.go b/connector/failoverconnector/config_test.go index a07024fe680b..e39255763d8a 100644 --- a/connector/failoverconnector/config_test.go +++ b/connector/failoverconnector/config_test.go @@ -12,6 +12,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/confmap/confmaptest" + "go.opentelemetry.io/collector/pipeline" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector/internal/metadata" ) @@ -24,9 +25,9 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, "default"), expected: &Config{ - PipelinePriority: [][]component.ID{ + PipelinePriority: [][]pipeline.ID{ { - component.NewIDWithName(component.DataTypeTraces, ""), + pipeline.NewIDWithName(pipeline.SignalTraces, ""), }, }, RetryInterval: 10 * time.Minute, @@ -37,19 +38,19 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, "full"), expected: &Config{ - PipelinePriority: [][]component.ID{ + PipelinePriority: [][]pipeline.ID{ { - component.NewIDWithName(component.DataTypeTraces, "first"), - component.NewIDWithName(component.DataTypeTraces, "also_first"), + pipeline.NewIDWithName(pipeline.SignalTraces, "first"), + pipeline.NewIDWithName(pipeline.SignalTraces, "also_first"), }, { - component.NewIDWithName(component.DataTypeTraces, "second"), + pipeline.NewIDWithName(pipeline.SignalTraces, "second"), }, { - component.NewIDWithName(component.DataTypeTraces, "third"), + pipeline.NewIDWithName(pipeline.SignalTraces, "third"), }, { - component.NewIDWithName(component.DataTypeTraces, "fourth"), + pipeline.NewIDWithName(pipeline.SignalTraces, "fourth"), }, }, RetryInterval: 5 * time.Minute, diff --git a/connector/failoverconnector/factory_test.go b/connector/failoverconnector/factory_test.go index 4c113963516c..9043414f8e32 100644 --- a/connector/failoverconnector/factory_test.go +++ b/connector/failoverconnector/factory_test.go @@ -9,25 +9,25 @@ import ( "time" "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestNewFactory(t *testing.T) { - traces0 := component.NewIDWithName(component.DataTypeTraces, "0") - traces1 := component.NewIDWithName(component.DataTypeTraces, "1") - traces2 := component.NewIDWithName(component.DataTypeTraces, "2") + traces0 := pipeline.NewIDWithName(pipeline.SignalTraces, "0") + traces1 := pipeline.NewIDWithName(pipeline.SignalTraces, "1") + traces2 := pipeline.NewIDWithName(pipeline.SignalTraces, "2") cfg := &Config{ - PipelinePriority: [][]component.ID{{traces0, traces1}, {traces2}}, + PipelinePriority: [][]pipeline.ID{{traces0, traces1}, {traces2}}, RetryInterval: 5 * time.Minute, RetryGap: 10 * time.Second, MaxRetries: 5, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ traces0: consumertest.NewNop(), traces1: consumertest.NewNop(), traces2: consumertest.NewNop(), diff --git a/connector/failoverconnector/failover.go b/connector/failoverconnector/failover.go index f76341646d72..931a94aa1561 100644 --- a/connector/failoverconnector/failover.go +++ b/connector/failoverconnector/failover.go @@ -7,12 +7,12 @@ import ( "errors" "sync" - "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/pipeline" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/failoverconnector/internal/state" ) -type consumerProvider[C any] func(...component.ID) (C, error) +type consumerProvider[C any] func(...pipeline.ID) (C, error) type failoverRouter[C any] struct { consumerProvider consumerProvider[C] diff --git a/connector/failoverconnector/failover_test.go b/connector/failoverconnector/failover_test.go index ddee5aaaf653..f55e015d737c 100644 --- a/connector/failoverconnector/failover_test.go +++ b/connector/failoverconnector/failover_test.go @@ -9,28 +9,28 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestFailoverRecovery(t *testing.T) { var sinkFirst, sinkSecond, sinkThird, sinkFourth consumertest.TracesSink - tracesFirst := component.NewIDWithName(component.DataTypeTraces, "traces/first") - tracesSecond := component.NewIDWithName(component.DataTypeTraces, "traces/second") - tracesThird := component.NewIDWithName(component.DataTypeTraces, "traces/third") - tracesFourth := component.NewIDWithName(component.DataTypeTraces, "traces/fourth") + tracesFirst := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/first") + tracesSecond := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/second") + tracesThird := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/third") + tracesFourth := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/fourth") cfg := &Config{ - PipelinePriority: [][]component.ID{{tracesFirst}, {tracesSecond}, {tracesThird}, {tracesFourth}}, + PipelinePriority: [][]pipeline.ID{{tracesFirst}, {tracesSecond}, {tracesThird}, {tracesFourth}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesFirst: &sinkFirst, tracesSecond: &sinkSecond, tracesThird: &sinkThird, @@ -154,19 +154,19 @@ func TestFailoverRecovery(t *testing.T) { func TestFailoverRecovery_MaxRetries(t *testing.T) { var sinkFirst, sinkSecond, sinkThird, sinkFourth consumertest.TracesSink - tracesFirst := component.NewIDWithName(component.DataTypeTraces, "traces/first") - tracesSecond := component.NewIDWithName(component.DataTypeTraces, "traces/second") - tracesThird := component.NewIDWithName(component.DataTypeTraces, "traces/third") - tracesFourth := component.NewIDWithName(component.DataTypeTraces, "traces/fourth") + tracesFirst := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/first") + tracesSecond := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/second") + tracesThird := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/third") + tracesFourth := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/fourth") cfg := &Config{ - PipelinePriority: [][]component.ID{{tracesFirst}, {tracesSecond}, {tracesThird}, {tracesFourth}}, + PipelinePriority: [][]pipeline.ID{{tracesFirst}, {tracesSecond}, {tracesThird}, {tracesFourth}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesFirst: &sinkFirst, tracesSecond: &sinkSecond, tracesThird: &sinkThird, diff --git a/connector/failoverconnector/go.mod b/connector/failoverconnector/go.mod index 04e0f11732b9..edb0bce43bda 100644 --- a/connector/failoverconnector/go.mod +++ b/connector/failoverconnector/go.mod @@ -4,27 +4,26 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -32,30 +31,24 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.18.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/failoverconnector/go.sum b/connector/failoverconnector/go.sum index a1994ce6f50f..a0f51c63449b 100644 --- a/connector/failoverconnector/go.sum +++ b/connector/failoverconnector/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -24,8 +20,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -36,8 +30,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -47,65 +39,57 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -129,12 +113,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -145,10 +129,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/failoverconnector/logs_test.go b/connector/failoverconnector/logs_test.go index 5e5a2375efca..01522d218812 100644 --- a/connector/failoverconnector/logs_test.go +++ b/connector/failoverconnector/logs_test.go @@ -10,30 +10,30 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/pdata/plog" + "go.opentelemetry.io/collector/pipeline" ) var errLogsConsumer = errors.New("Error from ConsumeLogs") func TestLogsRegisterConsumers(t *testing.T) { var sinkFirst, sinkSecond, sinkThird consumertest.LogsSink - logsFirst := component.NewIDWithName(component.DataTypeLogs, "logs/first") - logsSecond := component.NewIDWithName(component.DataTypeLogs, "logs/second") - logsThird := component.NewIDWithName(component.DataTypeLogs, "logs/third") + logsFirst := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/first") + logsSecond := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/second") + logsThird := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/third") cfg := &Config{ - PipelinePriority: [][]component.ID{{logsFirst}, {logsSecond}, {logsThird}}, + PipelinePriority: [][]pipeline.ID{{logsFirst}, {logsSecond}, {logsThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsFirst: &sinkFirst, logsSecond: &sinkSecond, logsThird: &sinkThird, @@ -62,18 +62,18 @@ func TestLogsRegisterConsumers(t *testing.T) { func TestLogsWithValidFailover(t *testing.T) { var sinkFirst, sinkSecond, sinkThird consumertest.LogsSink - logsFirst := component.NewIDWithName(component.DataTypeLogs, "logs/first") - logsSecond := component.NewIDWithName(component.DataTypeLogs, "logs/second") - logsThird := component.NewIDWithName(component.DataTypeLogs, "logs/third") + logsFirst := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/first") + logsSecond := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/second") + logsThird := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/third") cfg := &Config{ - PipelinePriority: [][]component.ID{{logsFirst}, {logsSecond}, {logsThird}}, + PipelinePriority: [][]pipeline.ID{{logsFirst}, {logsSecond}, {logsThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsFirst: &sinkFirst, logsSecond: &sinkSecond, logsThird: &sinkThird, @@ -99,18 +99,18 @@ func TestLogsWithValidFailover(t *testing.T) { func TestLogsWithFailoverError(t *testing.T) { var sinkFirst, sinkSecond, sinkThird consumertest.LogsSink - logsFirst := component.NewIDWithName(component.DataTypeLogs, "logs/first") - logsSecond := component.NewIDWithName(component.DataTypeLogs, "logs/second") - logsThird := component.NewIDWithName(component.DataTypeLogs, "logs/third") + logsFirst := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/first") + logsSecond := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/second") + logsThird := pipeline.NewIDWithName(pipeline.SignalLogs, "logs/third") cfg := &Config{ - PipelinePriority: [][]component.ID{{logsFirst}, {logsSecond}, {logsThird}}, + PipelinePriority: [][]pipeline.ID{{logsFirst}, {logsSecond}, {logsThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsFirst: &sinkFirst, logsSecond: &sinkSecond, logsThird: &sinkThird, diff --git a/connector/failoverconnector/metadata.yaml b/connector/failoverconnector/metadata.yaml index 6cc73585b073..bf9fc0792df0 100644 --- a/connector/failoverconnector/metadata.yaml +++ b/connector/failoverconnector/metadata.yaml @@ -4,7 +4,7 @@ status: class: connector stability: alpha: [traces_to_traces, metrics_to_metrics, logs_to_logs] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [akats7, djaglowski, fatsheep9146] diff --git a/connector/failoverconnector/metrics_test.go b/connector/failoverconnector/metrics_test.go index 4e952b462b4b..fab5e4199ef3 100644 --- a/connector/failoverconnector/metrics_test.go +++ b/connector/failoverconnector/metrics_test.go @@ -10,30 +10,30 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/pdata/pmetric" + "go.opentelemetry.io/collector/pipeline" ) var errMetricsConsumer = errors.New("Error from ConsumeMetrics") func TestMetricsRegisterConsumers(t *testing.T) { var sinkFirst, sinkSecond, sinkThird consumertest.MetricsSink - metricsFirst := component.NewIDWithName(component.DataTypeMetrics, "metrics/first") - metricsSecond := component.NewIDWithName(component.DataTypeMetrics, "metrics/second") - metricsThird := component.NewIDWithName(component.DataTypeMetrics, "metrics/third") + metricsFirst := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/first") + metricsSecond := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/second") + metricsThird := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/third") cfg := &Config{ - PipelinePriority: [][]component.ID{{metricsFirst}, {metricsSecond}, {metricsThird}}, + PipelinePriority: [][]pipeline.ID{{metricsFirst}, {metricsSecond}, {metricsThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsFirst: &sinkFirst, metricsSecond: &sinkSecond, metricsThird: &sinkThird, @@ -62,18 +62,18 @@ func TestMetricsRegisterConsumers(t *testing.T) { func TestMetricsWithValidFailover(t *testing.T) { var sinkFirst, sinkSecond, sinkThird consumertest.MetricsSink - metricsFirst := component.NewIDWithName(component.DataTypeMetrics, "metrics/first") - metricsSecond := component.NewIDWithName(component.DataTypeMetrics, "metrics/second") - metricsThird := component.NewIDWithName(component.DataTypeMetrics, "metrics/third") + metricsFirst := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/first") + metricsSecond := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/second") + metricsThird := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/third") cfg := &Config{ - PipelinePriority: [][]component.ID{{metricsFirst}, {metricsSecond}, {metricsThird}}, + PipelinePriority: [][]pipeline.ID{{metricsFirst}, {metricsSecond}, {metricsThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsFirst: &sinkFirst, metricsSecond: &sinkSecond, metricsThird: &sinkThird, @@ -99,18 +99,18 @@ func TestMetricsWithValidFailover(t *testing.T) { func TestMetricsWithFailoverError(t *testing.T) { var sinkFirst, sinkSecond, sinkThird consumertest.MetricsSink - metricsFirst := component.NewIDWithName(component.DataTypeMetrics, "metrics/first") - metricsSecond := component.NewIDWithName(component.DataTypeMetrics, "metrics/second") - metricsThird := component.NewIDWithName(component.DataTypeMetrics, "metrics/third") + metricsFirst := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/first") + metricsSecond := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/second") + metricsThird := pipeline.NewIDWithName(pipeline.SignalMetrics, "metrics/third") cfg := &Config{ - PipelinePriority: [][]component.ID{{metricsFirst}, {metricsSecond}, {metricsThird}}, + PipelinePriority: [][]pipeline.ID{{metricsFirst}, {metricsSecond}, {metricsThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsFirst: &sinkFirst, metricsSecond: &sinkSecond, metricsThird: &sinkThird, diff --git a/connector/failoverconnector/traces_test.go b/connector/failoverconnector/traces_test.go index 3a28daa1aba8..66b80e61f374 100644 --- a/connector/failoverconnector/traces_test.go +++ b/connector/failoverconnector/traces_test.go @@ -10,30 +10,30 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/collector/pipeline" ) var errTracesConsumer = errors.New("Error from ConsumeTraces") func TestTracesRegisterConsumers(t *testing.T) { var sinkFirst, sinkSecond, sinkThird consumertest.TracesSink - tracesFirst := component.NewIDWithName(component.DataTypeTraces, "traces/first") - tracesSecond := component.NewIDWithName(component.DataTypeTraces, "traces/second") - tracesThird := component.NewIDWithName(component.DataTypeTraces, "traces/third") + tracesFirst := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/first") + tracesSecond := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/second") + tracesThird := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/third") cfg := &Config{ - PipelinePriority: [][]component.ID{{tracesFirst}, {tracesSecond}, {tracesThird}}, + PipelinePriority: [][]pipeline.ID{{tracesFirst}, {tracesSecond}, {tracesThird}}, RetryInterval: 25 * time.Millisecond, RetryGap: 5 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesFirst: &sinkFirst, tracesSecond: &sinkSecond, tracesThird: &sinkThird, @@ -63,19 +63,19 @@ func TestTracesRegisterConsumers(t *testing.T) { func TestTracesWithValidFailover(t *testing.T) { var sinkSecond, sinkThird consumertest.TracesSink - tracesFirst := component.NewIDWithName(component.DataTypeTraces, "traces/first") - tracesSecond := component.NewIDWithName(component.DataTypeTraces, "traces/second") - tracesThird := component.NewIDWithName(component.DataTypeTraces, "traces/third") + tracesFirst := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/first") + tracesSecond := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/second") + tracesThird := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/third") noOp := consumertest.NewNop() cfg := &Config{ - PipelinePriority: [][]component.ID{{tracesFirst}, {tracesSecond}, {tracesThird}}, + PipelinePriority: [][]pipeline.ID{{tracesFirst}, {tracesSecond}, {tracesThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesFirst: noOp, tracesSecond: &sinkSecond, tracesThird: &sinkThird, @@ -101,19 +101,19 @@ func TestTracesWithValidFailover(t *testing.T) { func TestTracesWithFailoverError(t *testing.T) { var sinkSecond, sinkThird consumertest.TracesSink - tracesFirst := component.NewIDWithName(component.DataTypeTraces, "traces/first") - tracesSecond := component.NewIDWithName(component.DataTypeTraces, "traces/second") - tracesThird := component.NewIDWithName(component.DataTypeTraces, "traces/third") + tracesFirst := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/first") + tracesSecond := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/second") + tracesThird := pipeline.NewIDWithName(pipeline.SignalTraces, "traces/third") noOp := consumertest.NewNop() cfg := &Config{ - PipelinePriority: [][]component.ID{{tracesFirst}, {tracesSecond}, {tracesThird}}, + PipelinePriority: [][]pipeline.ID{{tracesFirst}, {tracesSecond}, {tracesThird}}, RetryInterval: 50 * time.Millisecond, RetryGap: 10 * time.Millisecond, MaxRetries: 10000, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesFirst: noOp, tracesSecond: &sinkSecond, tracesThird: &sinkThird, diff --git a/connector/grafanacloudconnector/generated_component_test.go b/connector/grafanacloudconnector/generated_component_test.go index ff6082e31e19..1c6c45f74bda 100644 --- a/connector/grafanacloudconnector/generated_component_test.go +++ b/connector/grafanacloudconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateTracesToMetrics(ctx, set, cfg, router) }, }, @@ -48,21 +49,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/grafanacloudconnector/go.mod b/connector/grafanacloudconnector/go.mod index 791521b4a2f5..5e09c26db164 100644 --- a/connector/grafanacloudconnector/go.mod +++ b/connector/grafanacloudconnector/go.mod @@ -4,33 +4,32 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 gotest.tools v2.2.0+incompatible ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -38,27 +37,21 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.18.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/grafanacloudconnector/go.sum b/connector/grafanacloudconnector/go.sum index ce5f4a62c0e9..236b7813da50 100644 --- a/connector/grafanacloudconnector/go.sum +++ b/connector/grafanacloudconnector/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -10,8 +6,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -23,8 +19,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -35,8 +29,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -46,66 +38,58 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -129,12 +113,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -145,10 +129,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/grafanacloudconnector/internal/metadata/generated_telemetry.go b/connector/grafanacloudconnector/internal/metadata/generated_telemetry.go index 5a6e805a0304..813fb5c48931 100644 --- a/connector/grafanacloudconnector/internal/metadata/generated_telemetry.go +++ b/connector/grafanacloudconnector/internal/metadata/generated_telemetry.go @@ -37,25 +37,33 @@ type TelemetryBuilder struct { meters map[configtelemetry.Level]metric.Meter } -// telemetryBuilderOption applies changes to default builder. -type telemetryBuilderOption func(*TelemetryBuilder) +// TelemetryBuilderOption applies changes to default builder. +type TelemetryBuilderOption interface { + apply(*TelemetryBuilder) +} + +type telemetryBuilderOptionFunc func(mb *TelemetryBuilder) + +func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { + tbof(mb) +} // WithGrafanacloudHostCountCallback sets callback for observable GrafanacloudHostCount metric. -func WithGrafanacloudHostCountCallback(cb func() int64, opts ...metric.ObserveOption) telemetryBuilderOption { - return func(builder *TelemetryBuilder) { +func WithGrafanacloudHostCountCallback(cb func() int64, opts ...metric.ObserveOption) TelemetryBuilderOption { + return telemetryBuilderOptionFunc(func(builder *TelemetryBuilder) { builder.observeGrafanacloudHostCount = func(_ context.Context, o metric.Observer) error { o.ObserveInt64(builder.GrafanacloudHostCount, cb(), opts...) return nil } - } + }) } // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component -func NewTelemetryBuilder(settings component.TelemetrySettings, options ...telemetryBuilderOption) (*TelemetryBuilder, error) { +func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { builder := TelemetryBuilder{meters: map[configtelemetry.Level]metric.Meter{}} for _, op := range options { - op(&builder) + op.apply(&builder) } builder.meters[configtelemetry.LevelBasic] = LeveledMeter(settings, configtelemetry.LevelBasic) var err, errs error diff --git a/connector/grafanacloudconnector/internal/metadata/generated_telemetry_test.go b/connector/grafanacloudconnector/internal/metadata/generated_telemetry_test.go index 1b0421c79fdc..1560a1e99b07 100644 --- a/connector/grafanacloudconnector/internal/metadata/generated_telemetry_test.go +++ b/connector/grafanacloudconnector/internal/metadata/generated_telemetry_test.go @@ -75,9 +75,9 @@ func TestNewTelemetryBuilder(t *testing.T) { TracerProvider: mockTracerProvider{}, } applied := false - _, err := NewTelemetryBuilder(set, func(b *TelemetryBuilder) { + _, err := NewTelemetryBuilder(set, telemetryBuilderOptionFunc(func(b *TelemetryBuilder) { applied = true - }) + })) require.NoError(t, err) require.True(t, applied) } diff --git a/connector/otlpjsonconnector/README.md b/connector/otlpjsonconnector/README.md index 73a330e0898f..229ecb22cc08 100644 --- a/connector/otlpjsonconnector/README.md +++ b/connector/otlpjsonconnector/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Fotlpjson%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Fotlpjson) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Fotlpjson%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Fotlpjson) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@djaglowski](https://www.github.com/djaglowski), [@ChrsMark](https://www.github.com/ChrsMark) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Supported Pipeline Types diff --git a/connector/otlpjsonconnector/generated_component_test.go b/connector/otlpjsonconnector/generated_component_test.go index df5aee638e7c..1653f7f14bc1 100644 --- a/connector/otlpjsonconnector/generated_component_test.go +++ b/connector/otlpjsonconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs_to_logs", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{component.NewID(component.DataTypeLogs): consumertest.NewNop()}) + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{pipeline.NewID(pipeline.SignalLogs): consumertest.NewNop()}) return factory.CreateLogsToLogs(ctx, set, cfg, router) }, }, @@ -43,7 +44,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateLogsToMetrics(ctx, set, cfg, router) }, }, @@ -51,7 +52,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs_to_traces", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{component.NewID(component.DataTypeTraces): consumertest.NewNop()}) + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{pipeline.NewID(pipeline.SignalTraces): consumertest.NewNop()}) return factory.CreateLogsToTraces(ctx, set, cfg, router) }, }, @@ -64,21 +65,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/otlpjsonconnector/go.mod b/connector/otlpjsonconnector/go.mod index 39870f2bbbbc..e6fdbfdcee56 100644 --- a/connector/otlpjsonconnector/go.mod +++ b/connector/otlpjsonconnector/go.mod @@ -3,30 +3,30 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/otlpj go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.107.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -34,32 +34,26 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.18.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/otlpjsonconnector/go.sum b/connector/otlpjsonconnector/go.sum index 4dbd13ee50c7..ce1492a0892a 100644 --- a/connector/otlpjsonconnector/go.sum +++ b/connector/otlpjsonconnector/go.sum @@ -1,5 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -10,8 +8,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -23,8 +21,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -35,8 +31,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -46,64 +40,56 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -127,12 +113,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -143,10 +129,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/otlpjsonconnector/metadata.yaml b/connector/otlpjsonconnector/metadata.yaml index d4d355c2c9d6..90855c9d1bd6 100644 --- a/connector/otlpjsonconnector/metadata.yaml +++ b/connector/otlpjsonconnector/metadata.yaml @@ -4,6 +4,6 @@ status: class: connector stability: alpha: [logs_to_metrics, logs_to_traces, logs_to_logs] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [djaglowski, ChrsMark] diff --git a/connector/roundrobinconnector/README.md b/connector/roundrobinconnector/README.md index f2b315f188b5..0f663db20e02 100644 --- a/connector/roundrobinconnector/README.md +++ b/connector/roundrobinconnector/README.md @@ -2,12 +2,13 @@ | Status | | | ------------- |-----------| -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Froundrobin%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Froundrobin) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Froundrobin%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Froundrobin) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@bogdandrutu](https://www.github.com/bogdandrutu) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Supported Pipeline Types diff --git a/connector/roundrobinconnector/connector.go b/connector/roundrobinconnector/connector.go index 845dae033d15..2e1be12f6e9e 100644 --- a/connector/roundrobinconnector/connector.go +++ b/connector/roundrobinconnector/connector.go @@ -13,6 +13,7 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/collector/pipeline" ) func allConsumers[T any](r router[T]) ([]T, error) { @@ -29,8 +30,8 @@ func allConsumers[T any](r router[T]) ([]T, error) { } type router[T any] interface { - PipelineIDs() []component.ID - Consumer(pipelineIDs ...component.ID) (T, error) + PipelineIDs() []pipeline.ID + Consumer(pipelineIDs ...pipeline.ID) (T, error) } func newLogs(nextConsumer consumer.Logs) (connector.Logs, error) { diff --git a/connector/roundrobinconnector/connector_test.go b/connector/roundrobinconnector/connector_test.go index 8385e72ee4f9..a9c092c5076e 100644 --- a/connector/roundrobinconnector/connector_test.go +++ b/connector/roundrobinconnector/connector_test.go @@ -9,7 +9,6 @@ import ( "testing" "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" @@ -18,12 +17,13 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/collector/pipeline" ) -func newPipelineMap[T any](tp component.Type, consumers ...T) map[component.ID]T { - ret := make(map[component.ID]T, len(consumers)) +func newPipelineMap[T any](signal pipeline.Signal, consumers ...T) map[pipeline.ID]T { + ret := make(map[pipeline.ID]T, len(consumers)) for i, cons := range consumers { - ret[component.NewIDWithName(tp, strconv.Itoa(i))] = cons + ret[pipeline.NewIDWithName(signal, strconv.Itoa(i))] = cons } return ret } @@ -40,7 +40,7 @@ func TestLogsRoundRobin(t *testing.T) { sink1 := new(consumertest.LogsSink) sink2 := new(consumertest.LogsSink) sink3 := new(consumertest.LogsSink) - logs, err := f.CreateLogsToLogs(ctx, set, cfg, connector.NewLogsRouter(newPipelineMap[consumer.Logs](component.DataTypeLogs, sink1, sink2, sink3))) + logs, err := f.CreateLogsToLogs(ctx, set, cfg, connector.NewLogsRouter(newPipelineMap[consumer.Logs](pipeline.SignalLogs, sink1, sink2, sink3))) assert.NoError(t, err) assert.NotNil(t, logs) @@ -77,7 +77,7 @@ func TestMetricsRoundRobin(t *testing.T) { sink1 := new(consumertest.MetricsSink) sink2 := new(consumertest.MetricsSink) sink3 := new(consumertest.MetricsSink) - metrics, err := f.CreateMetricsToMetrics(ctx, set, cfg, connector.NewMetricsRouter(newPipelineMap[consumer.Metrics](component.DataTypeMetrics, sink1, sink2, sink3))) + metrics, err := f.CreateMetricsToMetrics(ctx, set, cfg, connector.NewMetricsRouter(newPipelineMap[consumer.Metrics](pipeline.SignalMetrics, sink1, sink2, sink3))) assert.NoError(t, err) assert.NotNil(t, metrics) @@ -114,7 +114,7 @@ func TestTracesRoundRobin(t *testing.T) { sink1 := new(consumertest.TracesSink) sink2 := new(consumertest.TracesSink) sink3 := new(consumertest.TracesSink) - traces, err := f.CreateTracesToTraces(ctx, set, cfg, connector.NewTracesRouter(newPipelineMap[consumer.Traces](component.DataTypeTraces, sink1, sink2, sink3))) + traces, err := f.CreateTracesToTraces(ctx, set, cfg, connector.NewTracesRouter(newPipelineMap[consumer.Traces](pipeline.SignalTraces, sink1, sink2, sink3))) assert.NoError(t, err) assert.NotNil(t, traces) diff --git a/connector/roundrobinconnector/generated_component_test.go b/connector/roundrobinconnector/generated_component_test.go index d0f6d5e47aae..ffa18e5f716a 100644 --- a/connector/roundrobinconnector/generated_component_test.go +++ b/connector/roundrobinconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs_to_logs", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{component.NewID(component.DataTypeLogs): consumertest.NewNop()}) + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{pipeline.NewID(pipeline.SignalLogs): consumertest.NewNop()}) return factory.CreateLogsToLogs(ctx, set, cfg, router) }, }, @@ -43,7 +44,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateMetricsToMetrics(ctx, set, cfg, router) }, }, @@ -51,7 +52,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_traces", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{component.NewID(component.DataTypeTraces): consumertest.NewNop()}) + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{pipeline.NewID(pipeline.SignalTraces): consumertest.NewNop()}) return factory.CreateTracesToTraces(ctx, set, cfg, router) }, }, @@ -64,21 +65,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/roundrobinconnector/go.mod b/connector/roundrobinconnector/go.mod index c1017d97c590..46b191d66a0a 100644 --- a/connector/roundrobinconnector/go.mod +++ b/connector/roundrobinconnector/go.mod @@ -4,26 +4,25 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -31,31 +30,25 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.18.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/roundrobinconnector/go.sum b/connector/roundrobinconnector/go.sum index 4dbd13ee50c7..ec817bc0ee26 100644 --- a/connector/roundrobinconnector/go.sum +++ b/connector/roundrobinconnector/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -10,8 +6,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -23,8 +19,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -35,8 +29,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -46,64 +38,56 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -127,12 +111,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -143,10 +127,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/roundrobinconnector/metadata.yaml b/connector/roundrobinconnector/metadata.yaml index a5bdc669e7c0..438317a347f8 100644 --- a/connector/roundrobinconnector/metadata.yaml +++ b/connector/roundrobinconnector/metadata.yaml @@ -4,7 +4,7 @@ status: class: connector stability: beta: [traces_to_traces, metrics_to_metrics, logs_to_logs] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [bogdandrutu] diff --git a/connector/routingconnector/README.md b/connector/routingconnector/README.md index 7ce1b0dd9937..72ebf8a4afe0 100644 --- a/connector/routingconnector/README.md +++ b/connector/routingconnector/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Frouting%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Frouting) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Frouting%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Frouting) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling), [@mwear](https://www.github.com/mwear) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Supported Pipeline Types @@ -32,13 +33,17 @@ If you are not already familiar with connectors, you may find it helpful to firs The following settings are available: - `table (required)`: the routing table for this connector. -- `table.statement (required)`: the routing condition provided as the [OTTL] statement. +- `table.context (optional, default: resource)`: the [OTTL Context] in which the statement will be evaluated. Currently, only `resource` and `log` are supported. +- `table.statement`: the routing condition provided as the [OTTL] statement. Required if `table.condition` is not provided. +- `table.condition`: the routing condition provided as the [OTTL] condition. Required if `table.statement` is not provided. - `table.pipelines (required)`: the list of pipelines to use when the routing condition is met. - `default_pipelines (optional)`: contains the list of pipelines to use when a record does not meet any of specified conditions. - `error_mode (optional)`: determines how errors returned from OTTL statements are handled. Valid values are `propagate`, `ignore` and `silent`. If `ignore` or `silent` is used and a statement's condition has an error then the payload will be routed to the default pipelines. When `silent` is used the error is not logged. If not supplied, `propagate` is used. -- `match_once (optional, default: false)`: determines whether the connector matches multiple statements or not. If enabled, the payload will be routed to the first pipeline in the `table` whose routing condition is met. +- `match_once (optional, default: false)`: determines whether the connector matches multiple statements or not. If enabled, the payload will be routed to the first pipeline in the `table` whose routing condition is met. May only be `false` when used with `resource` context. -Example: +### Examples + +Route traces based on an attribute: ```yaml receivers: @@ -89,6 +94,92 @@ service: exporters: [jaeger/ecorp] ``` +Route logs based on region: + +```yaml +receivers: + otlp: + +exporters: + file/other: + path: ./other.log + file/east: + path: ./east.log + file/west: + path: ./west.log + +connectors: + routing: + match_once: true + default_pipelines: [logs/other] + table: + - context: log + condition: attributes["region"] == "east" + pipelines: [logs/east] + - context: log + condition: attributes["region"] == "west" + pipelines: [logs/west] + +service: + pipelines: + logs/in: + receivers: [otlp] + exporters: [routing] + logs/east: + receivers: [routing] + exporters: [file/east] + logs/west: + receivers: [routing] + exporters: [file/west] + logs/other: + receivers: [routing] + exporters: [file/other] +``` + +Route all low level logs to cheap storage. Route the remainder based on service name: + +```yaml +receivers: + otlp: + +exporters: + file/cheap: + path: ./cheap.log + file/service1: + path: ./service1-important.log + file/ecorp: + path: ./service2-important.log + +connectors: + routing: + match_once: true + table: + - context: log + condition: severity_number < SEVERITY_NUMBER_ERROR + pipelines: [logs/cheap] + - context: resource + condition: attributes["service.name"] == "service1" + pipelines: [logs/service1] + - context: resource + condition: attributes["service.name"] == "service2" + pipelines: [logs/service2] + +service: + pipelines: + logs/in: + receivers: [otlp] + exporters: [routing] + logs/cheap: + receivers: [routing] + exporters: [file/cheap] + logs/service1: + receivers: [routing] + exporters: [file/service1] + logs/service2: + receivers: [routing] + exporters: [file/service2] +``` + A signal may get matched by routing conditions of more than one routing table entry. In this case, the signal will be routed to all pipelines of matching routes. Respectively, if none of the routing conditions met, then a signal is routed to default pipelines. @@ -97,23 +188,21 @@ Respectively, if none of the routing conditions met, then a signal is routed to - The connector will only route using [OTTL] statements which can only be applied to resource attributes. It does not support matching on context values at this time. - The connector routes to pipelines, not exporters as the processor does. -### OTTL Limitations -- Currently, it is not possible to specify boolean statements without function invocation as the routing condition. It is required to provide the NOOP `route()` or any other supported function as part of the routing statement, see [#13545](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/13545) for more information. -- Supported [OTTL] functions: - - [IsMatch](../../pkg/ottl/ottlfuncs/README.md#IsMatch) - - [delete_key](../../pkg/ottl/ottlfuncs/README.md#delete_key) - - [delete_matching_keys](../../pkg/ottl/ottlfuncs/README.md#delete_matching_keys) +### Supported [OTTL] functions + +- [IsMatch](../../pkg/ottl/ottlfuncs/README.md#IsMatch) +- [delete_key](../../pkg/ottl/ottlfuncs/README.md#delete_key) +- [delete_matching_keys](../../pkg/ottl/ottlfuncs/README.md#delete_matching_keys) ## Additional Settings + The full list of settings exposed for this connector are documented [here](./config.go) with detailed sample configuration files: -- [logs](./testdata/config_logs.yaml) -- [metrics](./testdata/config_metrics.yaml) -- [traces](./testdata/config_traces.yaml) +- [logs](./testdata/config/logs.yaml) +- [metrics](./testdata/config/metrics.yaml) +- [traces](./testdata/config/traces.yaml) -[in development]:https://github.com/open-telemetry/opentelemetry-collector#in-development [Connectors README]:https://github.com/open-telemetry/opentelemetry-collector/blob/main/connector/README.md -[Exporter Pipeline Type]:https://github.com/open-telemetry/opentelemetry-collector/blob/main/connector/README.md#exporter-pipeline-type -[Receiver Pipeline Type]:https://github.com/open-telemetry/opentelemetry-collector/blob/main/connector/README.md#receiver-pipeline-type -[contrib]:https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib -[OTTL]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/processing.md#telemetry-query-language + +[OTTL]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/README.md +[OTTL Context]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/LANGUAGE.md#contexts diff --git a/connector/routingconnector/config.go b/connector/routingconnector/config.go index 5f79cdcde6e1..3824c577c5cc 100644 --- a/connector/routingconnector/config.go +++ b/connector/routingconnector/config.go @@ -6,16 +6,17 @@ package routingconnector // import "github.com/open-telemetry/opentelemetry-coll import ( "errors" - "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/pipeline" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" ) var ( - errEmptyRoute = errors.New("invalid route: no statement provided") - errNoPipelines = errors.New("invalid route: no pipelines defined") - errUnexpectedConsumer = errors.New("expected consumer to be a connector router") - errNoTableItems = errors.New("invalid routing table: the routing table is empty") + errNoConditionOrStatement = errors.New("invalid route: no condition or statement provided") + errConditionAndStatement = errors.New("invalid route: both condition and statement provided") + errNoPipelines = errors.New("invalid route: no pipelines defined") + errUnexpectedConsumer = errors.New("expected consumer to be a connector router") + errNoTableItems = errors.New("invalid routing table: the routing table is empty") ) // Config defines configuration for the Routing processor. @@ -23,7 +24,7 @@ type Config struct { // DefaultPipelines contains the list of pipelines to use when a more specific record can't be // found in the routing table. // Optional. - DefaultPipelines []component.ID `mapstructure:"default_pipelines"` + DefaultPipelines []pipeline.ID `mapstructure:"default_pipelines"` // ErrorMode determines how the processor reacts to errors that occur while processing an OTTL // condition. @@ -55,13 +56,27 @@ func (c *Config) Validate() error { // validate that every route has a value for the routing attribute and has // at least one pipeline for _, item := range c.Table { - if len(item.Statement) == 0 { - return errEmptyRoute + if item.Statement == "" && item.Condition == "" { + return errNoConditionOrStatement + } + + if item.Statement != "" && item.Condition != "" { + return errConditionAndStatement } if len(item.Pipelines) == 0 { return errNoPipelines } + + switch item.Context { + case "", "resource": // ok + case "log": + if !c.MatchOnce { + return errors.New("log context is not supported with match_once: false") + } + default: + return errors.New("invalid context: " + item.Context) + } } return nil @@ -69,14 +84,22 @@ func (c *Config) Validate() error { // RoutingTableItem specifies how data should be routed to the different pipelines type RoutingTableItem struct { + // One of "resource" or "log" (other OTTL contexts will be added in the future) + // Optional. Default "resource". + Context string `mapstructure:"context"` + // Statement is a OTTL statement used for making a routing decision. - // Required when 'Value' isn't provided. + // One of 'Statement' or 'Condition' must be provided. Statement string `mapstructure:"statement"` + // Condition is an OTTL condition used for making a routing decision. + // One of 'Statement' or 'Condition' must be provided. + Condition string `mapstructure:"condition"` + // Pipelines contains the list of pipelines to use when the value from the FromAttribute field // matches this table item. When no pipelines are specified, the ones specified under // DefaultPipelines are used, if any. // The routing processor will fail upon the first failure from these pipelines. // Optional. - Pipelines []component.ID `mapstructure:"pipelines"` + Pipelines []pipeline.ID `mapstructure:"pipelines"` } diff --git a/connector/routingconnector/config_test.go b/connector/routingconnector/config_test.go index 9f8b7a94ebf4..aa36ad885e16 100644 --- a/connector/routingconnector/config_test.go +++ b/connector/routingconnector/config_test.go @@ -11,6 +11,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/confmap/confmaptest" + "go.opentelemetry.io/collector/pipeline" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector/internal/metadata" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" @@ -23,75 +24,75 @@ func TestLoadConfig(t *testing.T) { expected component.Config }{ { - configPath: "config_traces.yaml", + configPath: filepath.Join("testdata", "config", "traces.yaml"), id: component.NewIDWithName(metadata.Type, ""), expected: &Config{ - DefaultPipelines: []component.ID{ - component.NewIDWithName(component.DataTypeTraces, "otlp-all"), + DefaultPipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp-all"), }, ErrorMode: ottl.PropagateError, Table: []RoutingTableItem{ { Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeTraces, "jaeger-acme"), - component.NewIDWithName(component.DataTypeTraces, "otlp-acme"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "jaeger-acme"), + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp-acme"), }, }, { Statement: `route() where attributes["X-Tenant"] == "globex"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeTraces, "otlp-globex"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp-globex"), }, }, }, }, }, { - configPath: "config_metrics.yaml", + configPath: filepath.Join("testdata", "config", "metrics.yaml"), id: component.NewIDWithName(metadata.Type, ""), expected: &Config{ - DefaultPipelines: []component.ID{ - component.NewIDWithName(component.DataTypeMetrics, "otlp-all"), + DefaultPipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalMetrics, "otlp-all"), }, ErrorMode: ottl.PropagateError, Table: []RoutingTableItem{ { Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeMetrics, "jaeger-acme"), - component.NewIDWithName(component.DataTypeMetrics, "otlp-acme"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalMetrics, "jaeger-acme"), + pipeline.NewIDWithName(pipeline.SignalMetrics, "otlp-acme"), }, }, { Statement: `route() where attributes["X-Tenant"] == "globex"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeMetrics, "otlp-globex"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalMetrics, "otlp-globex"), }, }, }, }, }, { - configPath: "config_logs.yaml", + configPath: filepath.Join("testdata", "config", "logs.yaml"), id: component.NewIDWithName(metadata.Type, ""), expected: &Config{ - DefaultPipelines: []component.ID{ - component.NewIDWithName(component.DataTypeLogs, "otlp-all"), + DefaultPipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalLogs, "otlp-all"), }, ErrorMode: ottl.PropagateError, Table: []RoutingTableItem{ { Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeLogs, "jaeger-acme"), - component.NewIDWithName(component.DataTypeLogs, "otlp-acme"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalLogs, "jaeger-acme"), + pipeline.NewIDWithName(pipeline.SignalLogs, "otlp-acme"), }, }, { Statement: `route() where attributes["X-Tenant"] == "globex"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeLogs, "otlp-globex"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalLogs, "otlp-globex"), }, }, }, @@ -101,7 +102,7 @@ func TestLoadConfig(t *testing.T) { for _, tt := range testcases { t.Run(tt.configPath, func(t *testing.T) { - cm, err := confmaptest.LoadConf(filepath.Join("testdata", tt.configPath)) + cm, err := confmaptest.LoadConf(tt.configPath) require.NoError(t, err) factory := NewFactory() @@ -128,13 +129,13 @@ func TestValidateConfig(t *testing.T) { config: &Config{ Table: []RoutingTableItem{ { - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeTraces, "otlp"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp"), }, }, }, }, - error: "invalid route: no statement provided", + error: "invalid route: no condition or statement provided", }, { name: "no pipeline provided", @@ -150,8 +151,8 @@ func TestValidateConfig(t *testing.T) { { name: "no routes provided", config: &Config{ - DefaultPipelines: []component.ID{ - component.NewIDWithName(component.DataTypeTraces, "default"), + DefaultPipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "default"), }, }, error: "invalid routing table: the routing table is empty", @@ -161,11 +162,87 @@ func TestValidateConfig(t *testing.T) { config: &Config{}, error: "invalid routing table: the routing table is empty", }, + { + name: "condition provided", + config: &Config{ + Table: []RoutingTableItem{ + { + Condition: `attributes["attr"] == "acme"`, + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp"), + }, + }, + }, + }, + }, + { + name: "statement provided", + config: &Config{ + Table: []RoutingTableItem{ + { + Statement: `route() where attributes["attr"] == "acme"`, + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp"), + }, + }, + }, + }, + }, + { + name: "both condition and statement provided", + config: &Config{ + Table: []RoutingTableItem{ + { + Condition: `attributes["attr"] == "acme"`, + Statement: `route() where attributes["attr"] == "acme"`, + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp"), + }, + }, + }, + }, + error: "invalid route: both condition and statement provided", + }, + { + name: "invalid context", + config: &Config{ + Table: []RoutingTableItem{ + { + Context: "invalid", + Statement: `route() where attributes["attr"] == "acme"`, + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp"), + }, + }, + }, + }, + error: "invalid context: invalid", + }, + { + name: "log context with match_once false", + config: &Config{ + MatchOnce: false, + Table: []RoutingTableItem{ + { + Context: "log", + Statement: `route() where attributes["attr"] == "acme"`, + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "otlp"), + }, + }, + }, + }, + error: "log context is not supported with match_once: false", + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - assert.EqualError(t, component.ValidateConfig(tt.config), tt.error) + if tt.error == "" { + assert.NoError(t, component.ValidateConfig(tt.config)) + } else { + assert.EqualError(t, component.ValidateConfig(tt.config), tt.error) + } }) } } diff --git a/connector/routingconnector/factory_test.go b/connector/routingconnector/factory_test.go index 81b80f1ce535..1ec28eeb821a 100644 --- a/connector/routingconnector/factory_test.go +++ b/connector/routingconnector/factory_test.go @@ -8,26 +8,26 @@ import ( "testing" "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestConnectorCreatedWithValidConfiguration(t *testing.T) { cfg := &Config{ Table: []RoutingTableItem{{ Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeTraces, "0"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "0"), }, }}, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ - component.NewIDWithName(component.DataTypeTraces, "default"): consumertest.NewNop(), - component.NewIDWithName(component.DataTypeTraces, "0"): consumertest.NewNop(), + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ + pipeline.NewIDWithName(pipeline.SignalTraces, "default"): consumertest.NewNop(), + pipeline.NewIDWithName(pipeline.SignalTraces, "0"): consumertest.NewNop(), }) factory := NewFactory() @@ -42,8 +42,8 @@ func TestCreationFailsWithIncorrectConsumer(t *testing.T) { cfg := &Config{ Table: []RoutingTableItem{{ Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{ - component.NewIDWithName(component.DataTypeTraces, "0"), + Pipelines: []pipeline.ID{ + pipeline.NewIDWithName(pipeline.SignalTraces, "0"), }, }}, } diff --git a/connector/routingconnector/go.mod b/connector/routingconnector/go.mod index 45c2d8242278..cd8dc6e089ee 100644 --- a/connector/routingconnector/go.mod +++ b/connector/routingconnector/go.mod @@ -3,35 +3,41 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/routi go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -40,35 +46,30 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/routingconnector/go.sum b/connector/routingconnector/go.sum index b054be31c198..9de0ce62a86f 100644 --- a/connector/routingconnector/go.sum +++ b/connector/routingconnector/go.sum @@ -4,8 +4,10 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -21,12 +23,16 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -42,8 +48,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -54,8 +58,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -67,21 +69,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -90,46 +82,49 @@ github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZO github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -139,42 +134,59 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/routingconnector/internal/plogutil/logs.go b/connector/routingconnector/internal/plogutil/logs.go new file mode 100644 index 000000000000..5374073b7fd9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/logs.go @@ -0,0 +1,63 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package plogutil // import "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector/internal/plogutil" + +import ( + "go.opentelemetry.io/collector/pdata/plog" +) + +// MoveResourcesIf calls f sequentially for each ResourceLogs present in the first plog.Logs. +// If f returns true, the element is removed from the first plog.Logs and added to the second plog.Logs. +func MoveResourcesIf(from, to plog.Logs, f func(plog.ResourceLogs) bool) { + from.ResourceLogs().RemoveIf(func(rl plog.ResourceLogs) bool { + if !f(rl) { + return false + } + rl.CopyTo(to.ResourceLogs().AppendEmpty()) + return true + }) +} + +// MoveRecordsWithContextIf calls f sequentially for each LogRecord present in the first plog.Logs. +// If f returns true, the element is removed from the first plog.Logs and added to the second plog.Logs. +// Notably, the Resource and Scope associated with the LogRecord are created in the second plog.Logs only once. +// Resources or Scopes are removed from the original if they become empty. All ordering is preserved. +func MoveRecordsWithContextIf(from, to plog.Logs, f func(plog.ResourceLogs, plog.ScopeLogs, plog.LogRecord) bool) { + rls := from.ResourceLogs() + for i := 0; i < rls.Len(); i++ { + rl := rls.At(i) + sls := rl.ScopeLogs() + var rlCopy *plog.ResourceLogs + for j := 0; j < sls.Len(); j++ { + sl := sls.At(j) + lrs := sl.LogRecords() + var slCopy *plog.ScopeLogs + lrs.RemoveIf(func(lr plog.LogRecord) bool { + if !f(rl, sl, lr) { + return false + } + if rlCopy == nil { + rlc := to.ResourceLogs().AppendEmpty() + rlCopy = &rlc + rl.Resource().CopyTo(rlCopy.Resource()) + rlCopy.SetSchemaUrl(rl.SchemaUrl()) + } + if slCopy == nil { + slc := rlCopy.ScopeLogs().AppendEmpty() + slCopy = &slc + sl.Scope().CopyTo(slCopy.Scope()) + slCopy.SetSchemaUrl(sl.SchemaUrl()) + } + lr.CopyTo(slCopy.LogRecords().AppendEmpty()) + return true + }) + } + sls.RemoveIf(func(sl plog.ScopeLogs) bool { + return sl.LogRecords().Len() == 0 + }) + } + rls.RemoveIf(func(rl plog.ResourceLogs) bool { + return rl.ScopeLogs().Len() == 0 + }) +} diff --git a/connector/routingconnector/internal/plogutil/logs_test.go b/connector/routingconnector/internal/plogutil/logs_test.go new file mode 100644 index 000000000000..d2cce5f72bd1 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/logs_test.go @@ -0,0 +1,161 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package plogutil_test + +import ( + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/pdata/plog" + + "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector/internal/plogutil" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/plogtest" +) + +func TestMoveResourcesIf(t *testing.T) { + testCases := []struct { + name string + condition func(plog.ResourceLogs) bool + }{ + { + name: "move_none", + condition: func(plog.ResourceLogs) bool { + return false + }, + }, + { + name: "move_all", + condition: func(plog.ResourceLogs) bool { + return true + }, + }, + { + name: "move_one", + condition: func(rl plog.ResourceLogs) bool { + rname, ok := rl.Resource().Attributes().Get("resourceName") + return ok && rname.AsString() == "resourceA" + }, + }, + { + name: "move_to_preexisting", + condition: func(rl plog.ResourceLogs) bool { + rname, ok := rl.Resource().Attributes().Get("resourceName") + return ok && rname.AsString() == "resourceB" + }, + }, + } + + for _, tt := range testCases { + t.Run(tt.name, func(t *testing.T) { + // Load up a fresh copy of the input for each test, since it may be modified in place. + from, err := golden.ReadLogs(filepath.Join("testdata", "resource", tt.name, "from.yaml")) + require.NoError(t, err) + + to, err := golden.ReadLogs(filepath.Join("testdata", "resource", tt.name, "to.yaml")) + require.NoError(t, err) + + fromModifed, err := golden.ReadLogs(filepath.Join("testdata", "resource", tt.name, "from_modified.yaml")) + require.NoError(t, err) + + toModified, err := golden.ReadLogs(filepath.Join("testdata", "resource", tt.name, "to_modified.yaml")) + require.NoError(t, err) + + plogutil.MoveResourcesIf(from, to, tt.condition) + + assert.NoError(t, plogtest.CompareLogs(fromModifed, from), "from not modified as expected") + assert.NoError(t, plogtest.CompareLogs(toModified, to), "to not as expected") + }) + } +} + +func TestMoveRecordsWithContextIf(t *testing.T) { + testCases := []struct { + name string + condition func(plog.ResourceLogs, plog.ScopeLogs, plog.LogRecord) bool + }{ + { + name: "move_none", + condition: func(plog.ResourceLogs, plog.ScopeLogs, plog.LogRecord) bool { + return false + }, + }, + { + name: "move_all", + condition: func(plog.ResourceLogs, plog.ScopeLogs, plog.LogRecord) bool { + return true + }, + }, + { + name: "move_all_from_one_resource", + condition: func(rl plog.ResourceLogs, _ plog.ScopeLogs, _ plog.LogRecord) bool { + rname, ok := rl.Resource().Attributes().Get("resourceName") + return ok && rname.AsString() == "resourceB" + }, + }, + { + name: "move_all_from_one_scope", + condition: func(rl plog.ResourceLogs, sl plog.ScopeLogs, _ plog.LogRecord) bool { + rname, ok := rl.Resource().Attributes().Get("resourceName") + return ok && rname.AsString() == "resourceB" && sl.Scope().Name() == "scopeA" + }, + }, + { + name: "move_all_from_one_scope_in_each_resource", + condition: func(_ plog.ResourceLogs, sl plog.ScopeLogs, _ plog.LogRecord) bool { + return sl.Scope().Name() == "scopeB" + }, + }, + { + name: "move_one", + condition: func(rl plog.ResourceLogs, sl plog.ScopeLogs, lr plog.LogRecord) bool { + rname, ok := rl.Resource().Attributes().Get("resourceName") + return ok && rname.AsString() == "resourceA" && sl.Scope().Name() == "scopeB" && lr.Body().AsString() == "logB" + }, + }, + { + name: "move_one_from_each_scope", + condition: func(_ plog.ResourceLogs, _ plog.ScopeLogs, lr plog.LogRecord) bool { + return lr.Body().AsString() == "logA" + }, + }, + { + name: "move_one_from_each_scope_in_one_resource", + condition: func(rl plog.ResourceLogs, _ plog.ScopeLogs, lr plog.LogRecord) bool { + rname, ok := rl.Resource().Attributes().Get("resourceName") + return ok && rname.AsString() == "resourceB" && lr.Body().AsString() == "logA" + }, + }, + { + name: "move_some_to_preexisting", + condition: func(_ plog.ResourceLogs, sl plog.ScopeLogs, _ plog.LogRecord) bool { + return sl.Scope().Name() == "scopeB" + }, + }, + } + + for _, tt := range testCases { + t.Run(tt.name, func(t *testing.T) { + // Load up a fresh copy of the input for each test, since it may be modified in place. + from, err := golden.ReadLogs(filepath.Join("testdata", "record", tt.name, "from.yaml")) + require.NoError(t, err) + + to, err := golden.ReadLogs(filepath.Join("testdata", "record", tt.name, "to.yaml")) + require.NoError(t, err) + + fromModifed, err := golden.ReadLogs(filepath.Join("testdata", "record", tt.name, "from_modified.yaml")) + require.NoError(t, err) + + toModified, err := golden.ReadLogs(filepath.Join("testdata", "record", tt.name, "to_modified.yaml")) + require.NoError(t, err) + + plogutil.MoveRecordsWithContextIf(from, to, tt.condition) + + assert.NoError(t, plogtest.CompareLogs(fromModifed, from), "from not modified as expected") + assert.NoError(t, plogtest.CompareLogs(toModified, to), "to not as expected") + }) + } +} diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all/from_modified.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all/from_modified.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all/to_modified.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all/to_modified.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/from_modified.yaml new file mode 100644 index 000000000000..72f617672bf3 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/from_modified.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/to_modified.yaml new file mode 100644 index 000000000000..28a5a7c8b0f5 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_resource/to_modified.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/from_modified.yaml new file mode 100644 index 000000000000..28fed8ee680e --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/from_modified.yaml @@ -0,0 +1,111 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/to_modified.yaml new file mode 100644 index 000000000000..d42bbbcd478c --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope/to_modified.yaml @@ -0,0 +1,41 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/from_modified.yaml new file mode 100644 index 000000000000..71ca02311582 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/from_modified.yaml @@ -0,0 +1,81 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/to_modified.yaml new file mode 100644 index 000000000000..8c8745158e33 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_all_from_one_scope_in_each_resource/to_modified.yaml @@ -0,0 +1,81 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_none/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_none/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_none/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_none/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_none/from_modified.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_none/from_modified.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_none/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_none/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_none/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_none/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_none/to_modified.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_none/to_modified.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one/from_modified.yaml new file mode 100644 index 000000000000..293ef60f94c0 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one/from_modified.yaml @@ -0,0 +1,132 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one/to_modified.yaml new file mode 100644 index 000000000000..5bc00c939ba1 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one/to_modified.yaml @@ -0,0 +1,32 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/from_modified.yaml new file mode 100644 index 000000000000..c6c0fa65fcc0 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/from_modified.yaml @@ -0,0 +1,105 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/to_modified.yaml new file mode 100644 index 000000000000..39604c6017d6 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope/to_modified.yaml @@ -0,0 +1,105 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/from_modified.yaml new file mode 100644 index 000000000000..99ee9a0c24ea --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/from_modified.yaml @@ -0,0 +1,123 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/to_modified.yaml new file mode 100644 index 000000000000..a2e7ef72f97e --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_one_from_each_scope_in_one_resource/to_modified.yaml @@ -0,0 +1,53 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/from.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/from_modified.yaml new file mode 100644 index 000000000000..71ca02311582 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/from_modified.yaml @@ -0,0 +1,81 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/to.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/to.yaml new file mode 100644 index 000000000000..d1f37edae9cd --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/to.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceC + - key: resourceNameAgain + value: + stringValue: resourceC + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/to_modified.yaml new file mode 100644 index 000000000000..df27dd6cce1b --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/record/move_some_to_preexisting/to_modified.yaml @@ -0,0 +1,152 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceC + - key: resourceNameAgain + value: + stringValue: resourceC + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_all/from.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_all/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/from_modified.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/from_modified.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_all/to.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_all/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/to_modified.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_all/to_modified.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_none/from.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_none/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/from_modified.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/from_modified.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_none/to.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_none/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/to_modified.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_none/to_modified.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_one/from.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_one/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/from_modified.yaml new file mode 100644 index 000000000000..28a5a7c8b0f5 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/from_modified.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_one/to.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/to.yaml new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/to.yaml @@ -0,0 +1 @@ + diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_one/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/to_modified.yaml new file mode 100644 index 000000000000..72f617672bf3 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_one/to_modified.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/from.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/from.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/from.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/from_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/from_modified.yaml new file mode 100644 index 000000000000..ef36119ae039 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/from_modified.yaml @@ -0,0 +1,72 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/to.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/to.yaml new file mode 100644 index 000000000000..d1f37edae9cd --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/to.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceC + - key: resourceNameAgain + value: + stringValue: resourceC + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/to_modified.yaml b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/to_modified.yaml new file mode 100644 index 000000000000..a29eeeb8f3c1 --- /dev/null +++ b/connector/routingconnector/internal/plogutil/testdata/resource/move_to_preexisting/to_modified.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceC + - key: resourceNameAgain + value: + stringValue: resourceC + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/logs.go b/connector/routingconnector/logs.go index 95012465aab1..7fb0f92f65da 100644 --- a/connector/routingconnector/logs.go +++ b/connector/routingconnector/logs.go @@ -13,7 +13,9 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.uber.org/zap" + "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector/internal/plogutil" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" ) @@ -60,40 +62,83 @@ func (c *logsConnector) Capabilities() consumer.Capabilities { } func (c *logsConnector) ConsumeLogs(ctx context.Context, ld plog.Logs) error { + if c.config.MatchOnce { + return c.switchLogs(ctx, ld) + } + return c.matchAll(ctx, ld) +} + +// switchLogs removes items from the original plog.Logs as they are matched, +// and sends them to the appropriate consumer. +func (c *logsConnector) switchLogs(ctx context.Context, ld plog.Logs) error { + groups := make(map[consumer.Logs]plog.Logs) + var errs error + for _, route := range c.router.routeSlice { + matchedLogs := plog.NewLogs() + switch route.statementContext { + case "", "resource": + plogutil.MoveResourcesIf(ld, matchedLogs, + func(rl plog.ResourceLogs) bool { + rtx := ottlresource.NewTransformContext(rl.Resource(), rl) + _, isMatch, err := route.resourceStatement.Execute(ctx, rtx) + errs = errors.Join(errs, err) + return isMatch + }, + ) + case "log": + plogutil.MoveRecordsWithContextIf(ld, matchedLogs, + func(rl plog.ResourceLogs, sl plog.ScopeLogs, lr plog.LogRecord) bool { + ltx := ottllog.NewTransformContext(lr, sl.Scope(), rl.Resource(), sl, rl) + _, isMatch, err := route.logStatement.Execute(ctx, ltx) + errs = errors.Join(errs, err) + return isMatch + }, + ) + } + if errs != nil { + if c.config.ErrorMode == ottl.PropagateError { + return errs + } + groupAll(groups, c.router.defaultConsumer, matchedLogs) + } + groupAll(groups, route.consumer, matchedLogs) + } + // anything left wasn't matched by any route. Send to default consumer + groupAll(groups, c.router.defaultConsumer, ld) + for consumer, group := range groups { + errs = errors.Join(errs, consumer.ConsumeLogs(ctx, group)) + } + return errs +} + +func (c *logsConnector) matchAll(ctx context.Context, ld plog.Logs) error { // routingEntry is used to group plog.ResourceLogs that are routed to // the same set of exporters. // This way we're not ending up with all the logs split up which would cause // higher CPU usage. groups := make(map[consumer.Logs]plog.Logs) var errs error - for i := 0; i < ld.ResourceLogs().Len(); i++ { rlogs := ld.ResourceLogs().At(i) rtx := ottlresource.NewTransformContext(rlogs.Resource(), rlogs) - noRoutesMatch := true for _, route := range c.router.routeSlice { - _, isMatch, err := route.statement.Execute(ctx, rtx) + _, isMatch, err := route.resourceStatement.Execute(ctx, rtx) if err != nil { if c.config.ErrorMode == ottl.PropagateError { return err } - c.group(groups, c.router.defaultConsumer, rlogs) + group(groups, c.router.defaultConsumer, rlogs) continue } if isMatch { noRoutesMatch = false - c.group(groups, route.consumer, rlogs) - if c.config.MatchOnce { - break - } + group(groups, route.consumer, rlogs) } - } - if noRoutesMatch { // no route conditions are matched, add resource logs to default exporters group - c.group(groups, c.router.defaultConsumer, rlogs) + group(groups, c.router.defaultConsumer, rlogs) } } for consumer, group := range groups { @@ -102,18 +147,28 @@ func (c *logsConnector) ConsumeLogs(ctx context.Context, ld plog.Logs) error { return errs } -func (c *logsConnector) group( +func groupAll( + groups map[consumer.Logs]plog.Logs, + cons consumer.Logs, + logs plog.Logs, +) { + for i := 0; i < logs.ResourceLogs().Len(); i++ { + group(groups, cons, logs.ResourceLogs().At(i)) + } +} + +func group( groups map[consumer.Logs]plog.Logs, - consumer consumer.Logs, + cons consumer.Logs, logs plog.ResourceLogs, ) { - if consumer == nil { + if cons == nil { return } - group, ok := groups[consumer] + group, ok := groups[cons] if !ok { group = plog.NewLogs() } logs.CopyTo(group.ResourceLogs().AppendEmpty()) - groups[consumer] = group + groups[cons] = group } diff --git a/connector/routingconnector/logs_test.go b/connector/routingconnector/logs_test.go index 6b291c7d6005..480d60443a61 100644 --- a/connector/routingconnector/logs_test.go +++ b/connector/routingconnector/logs_test.go @@ -5,34 +5,41 @@ package routingconnector // import "github.com/open-telemetry/opentelemetry-coll import ( "context" + "os" + "path/filepath" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/confmap/confmaptest" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/pdata/plog" + "go.opentelemetry.io/collector/pipeline" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/plogtest" ) func TestLogsRegisterConsumersForValidRoute(t *testing.T) { - logsDefault := component.NewIDWithName(component.DataTypeLogs, "default") - logs0 := component.NewIDWithName(component.DataTypeLogs, "0") - logs1 := component.NewIDWithName(component.DataTypeLogs, "1") + logsDefault := pipeline.NewIDWithName(pipeline.SignalLogs, "default") + logs0 := pipeline.NewIDWithName(pipeline.SignalLogs, "0") + logs1 := pipeline.NewIDWithName(pipeline.SignalLogs, "1") cfg := &Config{ - DefaultPipelines: []component.ID{logsDefault}, + DefaultPipelines: []pipeline.ID{logsDefault}, Table: []RoutingTableItem{ { Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{logs0}, + Pipelines: []pipeline.ID{logs0}, }, { - Statement: `route() where attributes["X-Tenant"] == "*"`, - Pipelines: []component.ID{logs0, logs1}, + Condition: `attributes["X-Tenant"] == "*"`, + Pipelines: []pipeline.ID{logs0, logs1}, }, }, } @@ -41,7 +48,7 @@ func TestLogsRegisterConsumersForValidRoute(t *testing.T) { var defaultSink, sink0, sink1 consumertest.LogsSink - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsDefault: &defaultSink, logs0: &sink0, logs1: &sink1, @@ -76,31 +83,31 @@ func TestLogsRegisterConsumersForValidRoute(t *testing.T) { } func TestLogsAreCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { - logsDefault := component.NewIDWithName(component.DataTypeLogs, "default") - logs0 := component.NewIDWithName(component.DataTypeLogs, "0") - logs1 := component.NewIDWithName(component.DataTypeLogs, "1") + logsDefault := pipeline.NewIDWithName(pipeline.SignalLogs, "default") + logs0 := pipeline.NewIDWithName(pipeline.SignalLogs, "0") + logs1 := pipeline.NewIDWithName(pipeline.SignalLogs, "1") cfg := &Config{ - DefaultPipelines: []component.ID{logsDefault}, + DefaultPipelines: []pipeline.ID{logsDefault}, Table: []RoutingTableItem{ { - Statement: `route() where IsMatch(attributes["X-Tenant"], ".*acme") == true`, - Pipelines: []component.ID{logs0}, + Condition: `IsMatch(attributes["X-Tenant"], ".*acme") == true`, + Pipelines: []pipeline.ID{logs0}, }, { Statement: `route() where IsMatch(attributes["X-Tenant"], "_acme") == true`, - Pipelines: []component.ID{logs1}, + Pipelines: []pipeline.ID{logs1}, }, { Statement: `route() where attributes["X-Tenant"] == "ecorp"`, - Pipelines: []component.ID{logsDefault, logs0}, + Pipelines: []pipeline.ID{logsDefault, logs0}, }, }, } var defaultSink, sink0, sink1 consumertest.LogsSink - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsDefault: &defaultSink, logs0: &sink0, logs1: &sink1, @@ -231,24 +238,24 @@ func TestLogsAreCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { } func TestLogsAreCorrectlyMatchOnceWithOTTL(t *testing.T) { - logsDefault := component.NewIDWithName(component.DataTypeLogs, "default") - logs0 := component.NewIDWithName(component.DataTypeLogs, "0") - logs1 := component.NewIDWithName(component.DataTypeLogs, "1") + logsDefault := pipeline.NewIDWithName(pipeline.SignalLogs, "default") + logs0 := pipeline.NewIDWithName(pipeline.SignalLogs, "0") + logs1 := pipeline.NewIDWithName(pipeline.SignalLogs, "1") cfg := &Config{ - DefaultPipelines: []component.ID{logsDefault}, + DefaultPipelines: []pipeline.ID{logsDefault}, Table: []RoutingTableItem{ { Statement: `route() where IsMatch(attributes["X-Tenant"], ".*acme") == true`, - Pipelines: []component.ID{logs0}, + Pipelines: []pipeline.ID{logs0}, }, { Statement: `route() where IsMatch(attributes["X-Tenant"], "_acme") == true`, - Pipelines: []component.ID{logs1}, + Pipelines: []pipeline.ID{logs1}, }, { - Statement: `route() where attributes["X-Tenant"] == "ecorp"`, - Pipelines: []component.ID{logsDefault, logs0}, + Condition: `attributes["X-Tenant"] == "ecorp"`, + Pipelines: []pipeline.ID{logsDefault, logs0}, }, }, MatchOnce: true, @@ -256,7 +263,7 @@ func TestLogsAreCorrectlyMatchOnceWithOTTL(t *testing.T) { var defaultSink, sink0, sink1 consumertest.LogsSink - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsDefault: &defaultSink, logs0: &sink0, logs1: &sink1, @@ -383,22 +390,22 @@ func TestLogsAreCorrectlyMatchOnceWithOTTL(t *testing.T) { } func TestLogsResourceAttributeDroppedByOTTL(t *testing.T) { - logsDefault := component.NewIDWithName(component.DataTypeLogs, "default") - logsOther := component.NewIDWithName(component.DataTypeLogs, "other") + logsDefault := pipeline.NewIDWithName(pipeline.SignalLogs, "default") + logsOther := pipeline.NewIDWithName(pipeline.SignalLogs, "other") cfg := &Config{ - DefaultPipelines: []component.ID{logsDefault}, + DefaultPipelines: []pipeline.ID{logsDefault}, Table: []RoutingTableItem{ { Statement: `delete_key(attributes, "X-Tenant") where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{logsOther}, + Pipelines: []pipeline.ID{logsOther}, }, }, } var sink0, sink1 consumertest.LogsSink - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsDefault: &sink0, logsOther: &sink1, }) @@ -439,17 +446,17 @@ func TestLogsResourceAttributeDroppedByOTTL(t *testing.T) { } func TestLogsConnectorCapabilities(t *testing.T) { - logsDefault := component.NewIDWithName(component.DataTypeLogs, "default") - logsOther := component.NewIDWithName(component.DataTypeLogs, "other") + logsDefault := pipeline.NewIDWithName(pipeline.SignalLogs, "default") + logsOther := pipeline.NewIDWithName(pipeline.SignalLogs, "other") cfg := &Config{ Table: []RoutingTableItem{{ Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{logsOther}, + Pipelines: []pipeline.ID{logsOther}, }}, } - router := connector.NewLogsRouter(map[component.ID]consumer.Logs{ + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ logsDefault: consumertest.NewNop(), logsOther: consumertest.NewNop(), }) @@ -465,3 +472,98 @@ func TestLogsConnectorCapabilities(t *testing.T) { require.NoError(t, err) assert.False(t, conn.Capabilities().MutatesData) } + +func TestLogsConnectorDetailed(t *testing.T) { + testCases := []string{ + filepath.Join("testdata", "logs", "resource_context", "all_match_first_only"), + filepath.Join("testdata", "logs", "resource_context", "all_match_last_only"), + filepath.Join("testdata", "logs", "resource_context", "all_match_once"), + filepath.Join("testdata", "logs", "resource_context", "each_matches_one"), + filepath.Join("testdata", "logs", "resource_context", "match_none_with_default"), + filepath.Join("testdata", "logs", "resource_context", "match_none_without_default"), + filepath.Join("testdata", "logs", "log_context", "all_match_first_only"), + filepath.Join("testdata", "logs", "log_context", "all_match_last_only"), + filepath.Join("testdata", "logs", "log_context", "match_none_with_default"), + filepath.Join("testdata", "logs", "log_context", "match_none_without_default"), + filepath.Join("testdata", "logs", "log_context", "some_match_each_route"), + filepath.Join("testdata", "logs", "log_context", "with_resource_condition"), + filepath.Join("testdata", "logs", "log_context", "with_scope_condition"), + filepath.Join("testdata", "logs", "log_context", "with_resource_and_scope_conditions"), + filepath.Join("testdata", "logs", "mixed_context", "match_resource_then_logs"), + filepath.Join("testdata", "logs", "mixed_context", "match_logs_then_resource"), + } + + for _, tt := range testCases { + t.Run(tt, func(t *testing.T) { + + cm, err := confmaptest.LoadConf(filepath.Join(tt, "config.yaml")) + require.NoError(t, err) + factory := NewFactory() + cfg := factory.CreateDefaultConfig() + sub, err := cm.Sub("routing") + require.NoError(t, err) + require.NoError(t, sub.Unmarshal(cfg)) + require.NoError(t, component.ValidateConfig(cfg)) + + var sinkDefault, sink0, sink1 consumertest.LogsSink + router := connector.NewLogsRouter(map[pipeline.ID]consumer.Logs{ + pipeline.NewIDWithName(pipeline.SignalLogs, "default"): &sinkDefault, + pipeline.NewIDWithName(pipeline.SignalLogs, "0"): &sink0, + pipeline.NewIDWithName(pipeline.SignalLogs, "1"): &sink1, + }) + + conn, err := factory.CreateLogsToLogs( + context.Background(), + connectortest.NewNopSettings(), + cfg, + router.(consumer.Logs), + ) + require.NoError(t, err) + + var expected0, expected1, expectedDefault *plog.Logs + if expected, readErr := golden.ReadLogs(filepath.Join(tt, "sink_0.yaml")); readErr == nil { + expected0 = &expected + } else if !os.IsNotExist(readErr) { + t.Fatalf("Error reading sink_0.yaml: %v", readErr) + } + + if expected, readErr := golden.ReadLogs(filepath.Join(tt, "sink_1.yaml")); readErr == nil { + expected1 = &expected + } else if !os.IsNotExist(readErr) { + t.Fatalf("Error reading sink_1.yaml: %v", readErr) + } + + if expected, readErr := golden.ReadLogs(filepath.Join(tt, "sink_default.yaml")); readErr == nil { + expectedDefault = &expected + } else if !os.IsNotExist(readErr) { + t.Fatalf("Error reading sink_default.yaml: %v", readErr) + } + + input, readErr := golden.ReadLogs(filepath.Join(tt, "input.yaml")) + require.NoError(t, readErr) + + require.NoError(t, conn.ConsumeLogs(context.Background(), input)) + + if expected0 == nil { + assert.Empty(t, sink0.AllLogs(), "sink0 should be empty") + } else { + require.Len(t, sink0.AllLogs(), 1, "sink0 should have one plog.Logs") + assert.NoError(t, plogtest.CompareLogs(*expected0, sink0.AllLogs()[0]), "sink0 has unexpected result") + } + + if expected1 == nil { + assert.Empty(t, sink1.AllLogs(), "sink1 should be empty") + } else { + require.Len(t, sink1.AllLogs(), 1, "sink1 should have one plog.Logs") + assert.NoError(t, plogtest.CompareLogs(*expected1, sink1.AllLogs()[0]), "sink1 has unexpected result") + } + + if expectedDefault == nil { + assert.Empty(t, sinkDefault.AllLogs(), "sinkDefault should be empty") + } else { + require.Len(t, sinkDefault.AllLogs(), 1, "sinkDefault should have one plog.Logs") + assert.NoError(t, plogtest.CompareLogs(*expectedDefault, sinkDefault.AllLogs()[0]), "sinkDefault has unexpected result") + } + }) + } +} diff --git a/connector/routingconnector/metadata.yaml b/connector/routingconnector/metadata.yaml index 25fbfbde06a2..831ee561ee87 100644 --- a/connector/routingconnector/metadata.yaml +++ b/connector/routingconnector/metadata.yaml @@ -4,7 +4,7 @@ status: class: connector stability: alpha: [traces_to_traces, metrics_to_metrics, logs_to_logs] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [jpkrohling, mwear] diff --git a/connector/routingconnector/metrics.go b/connector/routingconnector/metrics.go index 42c362cbe1dd..6bf9508a6ef2 100644 --- a/connector/routingconnector/metrics.go +++ b/connector/routingconnector/metrics.go @@ -73,7 +73,7 @@ func (c *metricsConnector) ConsumeMetrics(ctx context.Context, md pmetric.Metric noRoutesMatch := true for _, route := range c.router.routeSlice { - _, isMatch, err := route.statement.Execute(ctx, rtx) + _, isMatch, err := route.resourceStatement.Execute(ctx, rtx) if err != nil { if c.config.ErrorMode == ottl.PropagateError { return err diff --git a/connector/routingconnector/metrics_test.go b/connector/routingconnector/metrics_test.go index 82fe74855bc9..ffd609abc9b1 100644 --- a/connector/routingconnector/metrics_test.go +++ b/connector/routingconnector/metrics_test.go @@ -9,30 +9,30 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/pdata/pmetric" + "go.opentelemetry.io/collector/pipeline" ) func TestMetricsRegisterConsumersForValidRoute(t *testing.T) { - metricsDefault := component.NewIDWithName(component.DataTypeMetrics, "default") - metrics0 := component.NewIDWithName(component.DataTypeMetrics, "0") - metrics1 := component.NewIDWithName(component.DataTypeMetrics, "1") + metricsDefault := pipeline.NewIDWithName(pipeline.SignalMetrics, "default") + metrics0 := pipeline.NewIDWithName(pipeline.SignalMetrics, "0") + metrics1 := pipeline.NewIDWithName(pipeline.SignalMetrics, "1") cfg := &Config{ - DefaultPipelines: []component.ID{metricsDefault}, + DefaultPipelines: []pipeline.ID{metricsDefault}, Table: []RoutingTableItem{ { Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{metrics0}, + Pipelines: []pipeline.ID{metrics0}, }, { - Statement: `route() where attributes["X-Tenant"] == "*"`, - Pipelines: []component.ID{metrics0, metrics1}, + Condition: `attributes["X-Tenant"] == "*"`, + Pipelines: []pipeline.ID{metrics0, metrics1}, }, }, } @@ -41,7 +41,7 @@ func TestMetricsRegisterConsumersForValidRoute(t *testing.T) { var defaultSink, sink0, sink1 consumertest.MetricsSink - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsDefault: &defaultSink, metrics0: &sink0, metrics1: &sink1, @@ -76,31 +76,31 @@ func TestMetricsRegisterConsumersForValidRoute(t *testing.T) { } func TestMetricsAreCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { - metricsDefault := component.NewIDWithName(component.DataTypeMetrics, "default") - metrics0 := component.NewIDWithName(component.DataTypeMetrics, "0") - metrics1 := component.NewIDWithName(component.DataTypeMetrics, "1") + metricsDefault := pipeline.NewIDWithName(pipeline.SignalMetrics, "default") + metrics0 := pipeline.NewIDWithName(pipeline.SignalMetrics, "0") + metrics1 := pipeline.NewIDWithName(pipeline.SignalMetrics, "1") cfg := &Config{ - DefaultPipelines: []component.ID{metricsDefault}, + DefaultPipelines: []pipeline.ID{metricsDefault}, Table: []RoutingTableItem{ { - Statement: `route() where attributes["value"] > 2.5`, - Pipelines: []component.ID{metrics0}, + Condition: `attributes["value"] > 2.5`, + Pipelines: []pipeline.ID{metrics0}, }, { Statement: `route() where attributes["value"] > 3.0`, - Pipelines: []component.ID{metrics1}, + Pipelines: []pipeline.ID{metrics1}, }, { Statement: `route() where attributes["value"] == 1.0`, - Pipelines: []component.ID{metricsDefault, metrics0}, + Pipelines: []pipeline.ID{metricsDefault, metrics0}, }, }, } var defaultSink, sink0, sink1 consumertest.MetricsSink - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsDefault: &defaultSink, metrics0: &sink0, metrics1: &sink1, @@ -246,24 +246,24 @@ func TestMetricsAreCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { } func TestMetricsAreCorrectlyMatchOnceWithOTTL(t *testing.T) { - metricsDefault := component.NewIDWithName(component.DataTypeMetrics, "default") - metrics0 := component.NewIDWithName(component.DataTypeMetrics, "0") - metrics1 := component.NewIDWithName(component.DataTypeMetrics, "1") + metricsDefault := pipeline.NewIDWithName(pipeline.SignalMetrics, "default") + metrics0 := pipeline.NewIDWithName(pipeline.SignalMetrics, "0") + metrics1 := pipeline.NewIDWithName(pipeline.SignalMetrics, "1") cfg := &Config{ - DefaultPipelines: []component.ID{metricsDefault}, + DefaultPipelines: []pipeline.ID{metricsDefault}, Table: []RoutingTableItem{ { Statement: `route() where attributes["value"] > 2.5`, - Pipelines: []component.ID{metrics0}, + Pipelines: []pipeline.ID{metrics0}, }, { Statement: `route() where attributes["value"] > 3.0`, - Pipelines: []component.ID{metrics1}, + Pipelines: []pipeline.ID{metrics1}, }, { - Statement: `route() where attributes["value"] == 1.0`, - Pipelines: []component.ID{metricsDefault, metrics0}, + Condition: `attributes["value"] == 1.0`, + Pipelines: []pipeline.ID{metricsDefault, metrics0}, }, }, MatchOnce: true, @@ -271,7 +271,7 @@ func TestMetricsAreCorrectlyMatchOnceWithOTTL(t *testing.T) { var defaultSink, sink0, sink1 consumertest.MetricsSink - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsDefault: &defaultSink, metrics0: &sink0, metrics1: &sink1, @@ -413,22 +413,22 @@ func TestMetricsAreCorrectlyMatchOnceWithOTTL(t *testing.T) { } func TestMetricsResourceAttributeDroppedByOTTL(t *testing.T) { - metricsDefault := component.NewIDWithName(component.DataTypeMetrics, "default") - metricsOther := component.NewIDWithName(component.DataTypeMetrics, "other") + metricsDefault := pipeline.NewIDWithName(pipeline.SignalMetrics, "default") + metricsOther := pipeline.NewIDWithName(pipeline.SignalMetrics, "other") cfg := &Config{ - DefaultPipelines: []component.ID{metricsDefault}, + DefaultPipelines: []pipeline.ID{metricsDefault}, Table: []RoutingTableItem{ { Statement: `delete_key(attributes, "X-Tenant") where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{metricsOther}, + Pipelines: []pipeline.ID{metricsOther}, }, }, } var sink0, sink1 consumertest.MetricsSink - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsDefault: &sink0, metricsOther: &sink1, }) @@ -469,17 +469,17 @@ func TestMetricsResourceAttributeDroppedByOTTL(t *testing.T) { } func TestMetricsConnectorCapabilities(t *testing.T) { - metricsDefault := component.NewIDWithName(component.DataTypeMetrics, "default") - metricsOther := component.NewIDWithName(component.DataTypeMetrics, "other") + metricsDefault := pipeline.NewIDWithName(pipeline.SignalMetrics, "default") + metricsOther := pipeline.NewIDWithName(pipeline.SignalMetrics, "other") cfg := &Config{ Table: []RoutingTableItem{{ Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{metricsOther}, + Pipelines: []pipeline.ID{metricsOther}, }}, } - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{ + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{ metricsDefault: consumertest.NewNop(), metricsOther: consumertest.NewNop(), }) diff --git a/connector/routingconnector/router.go b/connector/routingconnector/router.go index 24fc5978a0b6..aac7bb1b2324 100644 --- a/connector/routingconnector/router.go +++ b/connector/routingconnector/router.go @@ -9,10 +9,12 @@ import ( "strings" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/pipeline" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector/internal/common" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottllog" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/ottlresource" ) @@ -21,14 +23,15 @@ var errPipelineNotFound = errors.New("pipeline not found") // consumerProvider is a function with a type parameter C (expected to be one // of consumer.Traces, consumer.Metrics, or Consumer.Logs). returns a // consumer for the given component ID(s). -type consumerProvider[C any] func(...component.ID) (C, error) +type consumerProvider[C any] func(...pipeline.ID) (C, error) // router registers consumers and default consumers for a pipeline. the type // parameter C is expected to be one of: consumer.Traces, consumer.Metrics, or // consumer.Logs. type router[C any] struct { - logger *zap.Logger - parser ottl.Parser[ottlresource.TransformContext] + logger *zap.Logger + resourceParser ottl.Parser[ottlresource.TransformContext] + logParser ottl.Parser[ottllog.TransformContext] table []RoutingTableItem routes map[string]routingItem[C] @@ -42,27 +45,21 @@ type router[C any] struct { // see router struct definition for the allowed types. func newRouter[C any]( table []RoutingTableItem, - defaultPipelineIDs []component.ID, + defaultPipelineIDs []pipeline.ID, provider consumerProvider[C], settings component.TelemetrySettings, ) (*router[C], error) { - parser, err := ottlresource.NewParser( - common.Functions[ottlresource.TransformContext](), - settings, - ) - - if err != nil { - return nil, err - } - r := &router[C]{ logger: settings.Logger, - parser: parser, table: table, routes: make(map[string]routingItem[C]), consumerProvider: provider, } + if err := r.buildParsers(table, settings); err != nil { + return nil, err + } + if err := r.registerConsumers(defaultPipelineIDs); err != nil { return nil, err } @@ -71,17 +68,59 @@ func newRouter[C any]( } type routingItem[C any] struct { - consumer C - statement *ottl.Statement[ottlresource.TransformContext] + consumer C + statementContext string + + resourceStatement *ottl.Statement[ottlresource.TransformContext] + logStatement *ottl.Statement[ottllog.TransformContext] } -func (r *router[C]) registerConsumers(defaultPipelineIDs []component.ID) error { +func (r *router[C]) buildParsers(table []RoutingTableItem, settings component.TelemetrySettings) error { + var buildResource, buildLog bool + for _, item := range table { + switch item.Context { + case "", "resource": + buildResource = true + case "log": + buildLog = true + } + } + + var errs error + if buildResource { + parser, err := ottlresource.NewParser( + common.Functions[ottlresource.TransformContext](), + settings, + ) + if err == nil { + r.resourceParser = parser + } else { + errs = errors.Join(errs, err) + } + } + if buildLog { + parser, err := ottllog.NewParser( + common.Functions[ottllog.TransformContext](), + settings, + ) + if err == nil { + r.logParser = parser + } else { + errs = errors.Join(errs, err) + } + } + return errs +} + +func (r *router[C]) registerConsumers(defaultPipelineIDs []pipeline.ID) error { // register default pipelines err := r.registerDefaultConsumer(defaultPipelineIDs) if err != nil { return err } + r.normalizeConditions() + // register pipelines for each route err = r.registerRouteConsumers() if err != nil { @@ -91,9 +130,8 @@ func (r *router[C]) registerConsumers(defaultPipelineIDs []component.ID) error { return nil } -// registerDefaultConsumer registers a consumer for the default -// pipelines configured -func (r *router[C]) registerDefaultConsumer(pipelineIDs []component.ID) error { +// registerDefaultConsumer registers a consumer for the default pipelines configured +func (r *router[C]) registerDefaultConsumer(pipelineIDs []pipeline.ID) error { if len(pipelineIDs) == 0 { return nil } @@ -108,18 +146,36 @@ func (r *router[C]) registerDefaultConsumer(pipelineIDs []component.ID) error { return nil } -// registerRouteConsumers registers a consumer for the pipelines configured -// for each route -func (r *router[C]) registerRouteConsumers() error { - for _, item := range r.table { - statement, err := r.getStatementFrom(item) - if err != nil { - return err +// convert conditions to statements +func (r *router[C]) normalizeConditions() { + for i := range r.table { + item := &r.table[i] + if item.Condition != "" { + item.Statement = fmt.Sprintf("route() where %s", item.Condition) } + } +} +// registerRouteConsumers registers a consumer for the pipelines configured for each route +func (r *router[C]) registerRouteConsumers() error { + for _, item := range r.table { route, ok := r.routes[key(item)] if !ok { - route.statement = statement + route.statementContext = item.Context + switch item.Context { + case "", "resource": + statement, err := r.resourceParser.ParseStatement(item.Statement) + if err != nil { + return err + } + route.resourceStatement = statement + case "log": + statement, err := r.logParser.ParseStatement(item.Statement) + if err != nil { + return err + } + route.logStatement = statement + } } else { pipelineNames := []string{} for _, pipeline := range item.Pipelines { @@ -143,21 +199,9 @@ func (r *router[C]) registerRouteConsumers() error { return nil } -// getStatementFrom builds a routing OTTL statement from the provided -// routing table entry configuration. If the routing table entry configuration -// does not contain a valid OTTL statement then nil is returned. -func (r *router[C]) getStatementFrom(item RoutingTableItem) (*ottl.Statement[ottlresource.TransformContext], error) { - var statement *ottl.Statement[ottlresource.TransformContext] - if item.Statement != "" { - var err error - statement, err = r.parser.ParseStatement(item.Statement) - if err != nil { - return statement, err - } - } - return statement, nil -} - func key(entry RoutingTableItem) string { - return entry.Statement + if entry.Context == "" || entry.Context == "resource" { + return entry.Statement + } + return "[" + entry.Context + "] " + entry.Statement } diff --git a/connector/routingconnector/testdata/config_logs.yaml b/connector/routingconnector/testdata/config/logs.yaml similarity index 100% rename from connector/routingconnector/testdata/config_logs.yaml rename to connector/routingconnector/testdata/config/logs.yaml diff --git a/connector/routingconnector/testdata/config_metrics.yaml b/connector/routingconnector/testdata/config/metrics.yaml similarity index 100% rename from connector/routingconnector/testdata/config_metrics.yaml rename to connector/routingconnector/testdata/config/metrics.yaml diff --git a/connector/routingconnector/testdata/config_traces.yaml b/connector/routingconnector/testdata/config/traces.yaml similarity index 100% rename from connector/routingconnector/testdata/config_traces.yaml rename to connector/routingconnector/testdata/config/traces.yaml diff --git a/connector/routingconnector/testdata/logs/log_context/all_match_first_only/config.yaml b/connector/routingconnector/testdata/logs/log_context/all_match_first_only/config.yaml new file mode 100644 index 000000000000..e890865e53dc --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/all_match_first_only/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: attributes["logName"] != nil + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/all_match_first_only/input.yaml b/connector/routingconnector/testdata/logs/log_context/all_match_first_only/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/all_match_first_only/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/all_match_first_only/sink_0.yaml b/connector/routingconnector/testdata/logs/log_context/all_match_first_only/sink_0.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/all_match_first_only/sink_0.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/all_match_last_only/config.yaml b/connector/routingconnector/testdata/logs/log_context/all_match_last_only/config.yaml new file mode 100644 index 000000000000..87873dd530db --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/all_match_last_only/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: attributes["logName"] == "logX" + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] != nil + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/all_match_last_only/input.yaml b/connector/routingconnector/testdata/logs/log_context/all_match_last_only/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/all_match_last_only/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/all_match_last_only/sink_1.yaml b/connector/routingconnector/testdata/logs/log_context/all_match_last_only/sink_1.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/all_match_last_only/sink_1.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/match_none_with_default/config.yaml b/connector/routingconnector/testdata/logs/log_context/match_none_with_default/config.yaml new file mode 100644 index 000000000000..dacb340e9937 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/match_none_with_default/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: attributes["logName"] == "logX" + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/match_none_with_default/input.yaml b/connector/routingconnector/testdata/logs/log_context/match_none_with_default/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/match_none_with_default/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/match_none_with_default/sink_default.yaml b/connector/routingconnector/testdata/logs/log_context/match_none_with_default/sink_default.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/match_none_with_default/sink_default.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/match_none_without_default/config.yaml b/connector/routingconnector/testdata/logs/log_context/match_none_without_default/config.yaml new file mode 100644 index 000000000000..74264624fc67 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/match_none_without_default/config.yaml @@ -0,0 +1,12 @@ +routing: + match_once: true + # no default pipelines + table: + - context: log + condition: attributes["logName"] == "logX" + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/match_none_without_default/input.yaml b/connector/routingconnector/testdata/logs/log_context/match_none_without_default/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/match_none_without_default/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/some_match_each_route/config.yaml b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/config.yaml new file mode 100644 index 000000000000..b830ca7e9450 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: attributes["logName"] == "logA" and resource.attributes["resourceName"] == "resourceA" + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logB" and resource.attributes["resourceName"] == "resourceB" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/some_match_each_route/input.yaml b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_0.yaml b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_0.yaml new file mode 100644 index 000000000000..539ec42b1322 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_0.yaml @@ -0,0 +1,53 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_1.yaml b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_1.yaml new file mode 100644 index 000000000000..ba61f2992fbf --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_1.yaml @@ -0,0 +1,53 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_default.yaml b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_default.yaml new file mode 100644 index 000000000000..ee4340abb2cc --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/some_match_each_route/sink_default.yaml @@ -0,0 +1,105 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/config.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/config.yaml new file mode 100644 index 000000000000..26855ab4322d --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: resource.attributes["resourceName"] == "resourceB" and instrumentation_scope.name == "scopeA" and attributes["logName"] != nil + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/input.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/sink_0.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/sink_0.yaml new file mode 100644 index 000000000000..d42bbbcd478c --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/sink_0.yaml @@ -0,0 +1,41 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/sink_default.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/sink_default.yaml new file mode 100644 index 000000000000..28fed8ee680e --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_and_scope_conditions/sink_default.yaml @@ -0,0 +1,111 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_condition/config.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/config.yaml new file mode 100644 index 000000000000..1907cfd8cd0e --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: resource.attributes["resourceName"] == "resourceB" and attributes["logName"] != nil + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_condition/input.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_condition/sink_0.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/sink_0.yaml new file mode 100644 index 000000000000..28a5a7c8b0f5 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/sink_0.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_resource_condition/sink_default.yaml b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/sink_default.yaml new file mode 100644 index 000000000000..72f617672bf3 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_resource_condition/sink_default.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_scope_condition/config.yaml b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/config.yaml new file mode 100644 index 000000000000..1b6eeba670b4 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: instrumentation_scope.name == "scopeB" and attributes["logName"] != nil + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/log_context/with_scope_condition/input.yaml b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_scope_condition/sink_0.yaml b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/sink_0.yaml new file mode 100644 index 000000000000..8c8745158e33 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/sink_0.yaml @@ -0,0 +1,81 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/log_context/with_scope_condition/sink_default.yaml b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/sink_default.yaml new file mode 100644 index 000000000000..71ca02311582 --- /dev/null +++ b/connector/routingconnector/testdata/logs/log_context/with_scope_condition/sink_default.yaml @@ -0,0 +1,81 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/config.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/config.yaml new file mode 100644 index 000000000000..14fc87417bf2 --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: log + condition: attributes["logName"] == "logA" + pipelines: + - logs/0 + - context: resource + condition: attributes["resourceName"] == "resourceB" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/input.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_0.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_0.yaml new file mode 100644 index 000000000000..39604c6017d6 --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_0.yaml @@ -0,0 +1,105 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_1.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_1.yaml new file mode 100644 index 000000000000..ba61f2992fbf --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_1.yaml @@ -0,0 +1,53 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_default.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_default.yaml new file mode 100644 index 000000000000..b20626892e83 --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_logs_then_resource/sink_default.yaml @@ -0,0 +1,53 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 \ No newline at end of file diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/config.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/config.yaml new file mode 100644 index 000000000000..ab15a654b35a --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/config.yaml @@ -0,0 +1,13 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - context: resource + condition: attributes["resourceName"] == "resourceA" + pipelines: + - logs/0 + - context: log + condition: attributes["logName"] == "logB" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/input.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_0.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_0.yaml new file mode 100644 index 000000000000..72f617672bf3 --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_0.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_1.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_1.yaml new file mode 100644 index 000000000000..ba61f2992fbf --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_1.yaml @@ -0,0 +1,53 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_default.yaml b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_default.yaml new file mode 100644 index 000000000000..a2e7ef72f97e --- /dev/null +++ b/connector/routingconnector/testdata/logs/mixed_context/match_resource_then_logs/sink_default.yaml @@ -0,0 +1,53 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/config.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/config.yaml new file mode 100644 index 000000000000..0c6ae0f17eca --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/config.yaml @@ -0,0 +1,10 @@ +routing: + default_pipelines: + - logs/default + table: + - condition: attributes["resourceName"] != nil + pipelines: + - logs/0 + - condition: attributes["resourceName"] == "resourceY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/input.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/sink_0.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/sink_0.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_first_only/sink_0.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/config.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/config.yaml new file mode 100644 index 000000000000..107c8c59b83b --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/config.yaml @@ -0,0 +1,10 @@ +routing: + default_pipelines: + - logs/default + table: + - condition: attributes["resourceName"] == "resourceX" + pipelines: + - logs/0 + - condition: attributes["resourceName"] != nil + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/input.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/sink_1.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/sink_1.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_last_only/sink_1.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_once/config.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_once/config.yaml new file mode 100644 index 000000000000..3edeec5ce55f --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_once/config.yaml @@ -0,0 +1,11 @@ +routing: + match_once: true + default_pipelines: + - logs/default + table: + - condition: attributes["resourceName"] != nil + pipelines: + - logs/0 + - condition: attributes["resourceName"] == "resourceA" or attributes["resourceName"] == "resourceB" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_once/input.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_once/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_once/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/all_match_once/sink_0.yaml b/connector/routingconnector/testdata/logs/resource_context/all_match_once/sink_0.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/all_match_once/sink_0.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/each_matches_one/config.yaml b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/config.yaml new file mode 100644 index 000000000000..98382e3a56a9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/config.yaml @@ -0,0 +1,10 @@ +routing: + default_pipelines: + - logs/default + table: + - condition: attributes["resourceName"] == "resourceB" + pipelines: + - logs/0 + - condition: attributes["resourceName"] == "resourceA" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/resource_context/each_matches_one/input.yaml b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/each_matches_one/sink_0.yaml b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/sink_0.yaml new file mode 100644 index 000000000000..28a5a7c8b0f5 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/sink_0.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/each_matches_one/sink_1.yaml b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/sink_1.yaml new file mode 100644 index 000000000000..ba494d3e311d --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/each_matches_one/sink_1.yaml @@ -0,0 +1,71 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 \ No newline at end of file diff --git a/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/config.yaml b/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/config.yaml new file mode 100644 index 000000000000..5988ac82a9ad --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/config.yaml @@ -0,0 +1,10 @@ +routing: + default_pipelines: + - logs/default + table: + - condition: attributes["resourceName"] == "resourceX" + pipelines: + - logs/0 + - condition: attributes["resourceName"] == "resourceY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/input.yaml b/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/sink_default.yaml b/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/sink_default.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/match_none_with_default/sink_default.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/testdata/logs/resource_context/match_none_without_default/config.yaml b/connector/routingconnector/testdata/logs/resource_context/match_none_without_default/config.yaml new file mode 100644 index 000000000000..36054006adea --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/match_none_without_default/config.yaml @@ -0,0 +1,10 @@ +routing: + match_once: true + # no default pipelines + table: + - condition: attributes["resourceName"] == "resourceX" + pipelines: + - logs/0 + - condition: attributes["resourceName"] == "resourceY" + pipelines: + - logs/1 diff --git a/connector/routingconnector/testdata/logs/resource_context/match_none_without_default/input.yaml b/connector/routingconnector/testdata/logs/resource_context/match_none_without_default/input.yaml new file mode 100644 index 000000000000..63c6eada6cf9 --- /dev/null +++ b/connector/routingconnector/testdata/logs/resource_context/match_none_without_default/input.yaml @@ -0,0 +1,141 @@ +resourceLogs: + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceA + - key: resourceNameAgain + value: + stringValue: resourceA + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 + - resource: + attributes: + - key: resourceName + value: + stringValue: resourceB + - key: resourceNameAgain + value: + stringValue: resourceB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scopeLogs: + - attributes: + - key: scopeName + value: + stringValue: scopeA + - key: scopeNameAgain + value: + stringValue: scopeA + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeA + version: v0.1.0 + - attributes: + - key: scopeName + value: + stringValue: scopeB + - key: scopeNameAgain + value: + stringValue: scopeB + logRecords: + - attributes: + - key: logName + value: + stringValue: logA + - key: logNameAgain + value: + stringValue: logA + body: + stringValue: logA + - attributes: + - key: logName + value: + stringValue: logB + - key: logNameAgain + value: + stringValue: logB + body: + stringValue: logB + schemaUrl: https://opentelemetry.io/schemas/1.6.1 + scope: + name: scopeB + version: v0.1.0 diff --git a/connector/routingconnector/traces.go b/connector/routingconnector/traces.go index 73da17b7e3f1..98906fd82460 100644 --- a/connector/routingconnector/traces.go +++ b/connector/routingconnector/traces.go @@ -72,7 +72,7 @@ func (c *tracesConnector) ConsumeTraces(ctx context.Context, t ptrace.Traces) er noRoutesMatch := true for _, route := range c.router.routeSlice { - _, isMatch, err := route.statement.Execute(ctx, rtx) + _, isMatch, err := route.resourceStatement.Execute(ctx, rtx) if err != nil { if c.config.ErrorMode == ottl.PropagateError { return err diff --git a/connector/routingconnector/traces_test.go b/connector/routingconnector/traces_test.go index 33f39cd270c1..fb42892ae00e 100644 --- a/connector/routingconnector/traces_test.go +++ b/connector/routingconnector/traces_test.go @@ -9,30 +9,30 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/connector" "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/collector/pipeline" ) func TestTracesRegisterConsumersForValidRoute(t *testing.T) { - tracesDefault := component.NewIDWithName(component.DataTypeTraces, "default") - traces0 := component.NewIDWithName(component.DataTypeTraces, "0") - traces1 := component.NewIDWithName(component.DataTypeTraces, "1") + tracesDefault := pipeline.NewIDWithName(pipeline.SignalTraces, "default") + traces0 := pipeline.NewIDWithName(pipeline.SignalTraces, "0") + traces1 := pipeline.NewIDWithName(pipeline.SignalTraces, "1") cfg := &Config{ - DefaultPipelines: []component.ID{tracesDefault}, + DefaultPipelines: []pipeline.ID{tracesDefault}, Table: []RoutingTableItem{ { Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{traces0}, + Pipelines: []pipeline.ID{traces0}, }, { - Statement: `route() where attributes["X-Tenant"] == "*"`, - Pipelines: []component.ID{traces0, traces1}, + Condition: `attributes["X-Tenant"] == "*"`, + Pipelines: []pipeline.ID{traces0, traces1}, }, }, } @@ -41,7 +41,7 @@ func TestTracesRegisterConsumersForValidRoute(t *testing.T) { var defaultSink, sink0, sink1 consumertest.TracesSink - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesDefault: &defaultSink, traces0: &sink0, traces1: &sink1, @@ -76,24 +76,24 @@ func TestTracesRegisterConsumersForValidRoute(t *testing.T) { } func TestTracesCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { - tracesDefault := component.NewIDWithName(component.DataTypeTraces, "default") - traces0 := component.NewIDWithName(component.DataTypeTraces, "0") - traces1 := component.NewIDWithName(component.DataTypeTraces, "1") + tracesDefault := pipeline.NewIDWithName(pipeline.SignalTraces, "default") + traces0 := pipeline.NewIDWithName(pipeline.SignalTraces, "0") + traces1 := pipeline.NewIDWithName(pipeline.SignalTraces, "1") cfg := &Config{ - DefaultPipelines: []component.ID{tracesDefault}, + DefaultPipelines: []pipeline.ID{tracesDefault}, Table: []RoutingTableItem{ { - Statement: `route() where attributes["value"] > 0 and attributes["value"] < 4`, - Pipelines: []component.ID{traces0}, + Condition: `attributes["value"] > 0 and attributes["value"] < 4`, + Pipelines: []pipeline.ID{traces0}, }, { Statement: `route() where attributes["value"] > 1 and attributes["value"] < 4`, - Pipelines: []component.ID{traces1}, + Pipelines: []pipeline.ID{traces1}, }, { Statement: `route() where attributes["value"] == 5`, - Pipelines: []component.ID{tracesDefault, traces0}, + Pipelines: []pipeline.ID{tracesDefault, traces0}, }, }, } @@ -106,7 +106,7 @@ func TestTracesCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { sink1.Reset() } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesDefault: &defaultSink, traces1: &sink1, traces0: &sink0, @@ -206,25 +206,25 @@ func TestTracesCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { } func TestTracesCorrectlyMatchOnceWithOTTL(t *testing.T) { - tracesDefault := component.NewIDWithName(component.DataTypeTraces, "default") - traces0 := component.NewIDWithName(component.DataTypeTraces, "0") - traces1 := component.NewIDWithName(component.DataTypeTraces, "1") + tracesDefault := pipeline.NewIDWithName(pipeline.SignalTraces, "default") + traces0 := pipeline.NewIDWithName(pipeline.SignalTraces, "0") + traces1 := pipeline.NewIDWithName(pipeline.SignalTraces, "1") cfg := &Config{ - DefaultPipelines: []component.ID{tracesDefault}, + DefaultPipelines: []pipeline.ID{tracesDefault}, MatchOnce: true, Table: []RoutingTableItem{ { Statement: `route() where attributes["value"] > 0 and attributes["value"] < 4`, - Pipelines: []component.ID{traces0}, + Pipelines: []pipeline.ID{traces0}, }, { Statement: `route() where attributes["value"] > 1 and attributes["value"] < 4`, - Pipelines: []component.ID{traces1}, + Pipelines: []pipeline.ID{traces1}, }, { - Statement: `route() where attributes["value"] == 5`, - Pipelines: []component.ID{tracesDefault, traces0}, + Condition: `attributes["value"] == 5`, + Pipelines: []pipeline.ID{tracesDefault, traces0}, }, }, } @@ -237,7 +237,7 @@ func TestTracesCorrectlyMatchOnceWithOTTL(t *testing.T) { sink1.Reset() } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesDefault: &defaultSink, traces0: &sink0, traces1: &sink1, @@ -335,22 +335,22 @@ func TestTracesCorrectlyMatchOnceWithOTTL(t *testing.T) { } func TestTracesResourceAttributeDroppedByOTTL(t *testing.T) { - tracesDefault := component.NewIDWithName(component.DataTypeTraces, "default") - tracesOther := component.NewIDWithName(component.DataTypeTraces, "other") + tracesDefault := pipeline.NewIDWithName(pipeline.SignalTraces, "default") + tracesOther := pipeline.NewIDWithName(pipeline.SignalTraces, "other") cfg := &Config{ - DefaultPipelines: []component.ID{tracesDefault}, + DefaultPipelines: []pipeline.ID{tracesDefault}, Table: []RoutingTableItem{ { Statement: `delete_key(attributes, "X-Tenant") where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{tracesOther}, + Pipelines: []pipeline.ID{tracesOther}, }, }, } var sink0, sink1 consumertest.TracesSink - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesDefault: &sink0, tracesOther: &sink1, }) @@ -393,17 +393,17 @@ func TestTracesResourceAttributeDroppedByOTTL(t *testing.T) { } func TestTraceConnectorCapabilities(t *testing.T) { - tracesDefault := component.NewIDWithName(component.DataTypeTraces, "default") - tracesOther := component.NewIDWithName(component.DataTypeTraces, "0") + tracesDefault := pipeline.NewIDWithName(pipeline.SignalTraces, "default") + tracesOther := pipeline.NewIDWithName(pipeline.SignalTraces, "0") cfg := &Config{ Table: []RoutingTableItem{{ Statement: `route() where attributes["X-Tenant"] == "acme"`, - Pipelines: []component.ID{tracesOther}, + Pipelines: []pipeline.ID{tracesOther}, }}, } - router := connector.NewTracesRouter(map[component.ID]consumer.Traces{ + router := connector.NewTracesRouter(map[pipeline.ID]consumer.Traces{ tracesDefault: consumertest.NewNop(), tracesOther: consumertest.NewNop(), }) diff --git a/connector/servicegraphconnector/README.md b/connector/servicegraphconnector/README.md index d003b2d45799..18441947be9a 100644 --- a/connector/servicegraphconnector/README.md +++ b/connector/servicegraphconnector/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Fservicegraph%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Fservicegraph) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Fservicegraph%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Fservicegraph) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling), [@mapno](https://www.github.com/mapno), [@JaredTan95](https://www.github.com/JaredTan95) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Supported Pipeline Types diff --git a/connector/servicegraphconnector/connector.go b/connector/servicegraphconnector/connector.go index bef5d42d00fc..4b74fec66d85 100644 --- a/connector/servicegraphconnector/connector.go +++ b/connector/servicegraphconnector/connector.go @@ -19,7 +19,7 @@ import ( "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" "go.opentelemetry.io/collector/processor" - semconv "go.opentelemetry.io/collector/semconv/v1.13.0" + semconv "go.opentelemetry.io/collector/semconv/v1.25.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector/internal/metadata" diff --git a/connector/servicegraphconnector/connector_test.go b/connector/servicegraphconnector/connector_test.go index 4c52d2733788..fbe15b3ef65e 100644 --- a/connector/servicegraphconnector/connector_test.go +++ b/connector/servicegraphconnector/connector_test.go @@ -23,7 +23,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" - semconv "go.opentelemetry.io/collector/semconv/v1.13.0" + semconv "go.opentelemetry.io/collector/semconv/v1.25.0" "go.opentelemetry.io/otel/sdk/metric/metricdata" "go.uber.org/zap/zaptest" diff --git a/connector/servicegraphconnector/generated_component_test.go b/connector/servicegraphconnector/generated_component_test.go index 9d7d49f4e664..032249cf2cde 100644 --- a/connector/servicegraphconnector/generated_component_test.go +++ b/connector/servicegraphconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateTracesToMetrics(ctx, set, cfg, router) }, }, @@ -48,21 +49,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/servicegraphconnector/go.mod b/connector/servicegraphconnector/go.mod index e71df19ae542..c6a7868d7eb3 100644 --- a/connector/servicegraphconnector/go.mod +++ b/connector/servicegraphconnector/go.mod @@ -3,25 +3,27 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/servi go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 + go.opentelemetry.io/collector/processor v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -31,17 +33,18 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -51,67 +54,68 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/otelcol v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/servicegraphconnector/go.sum b/connector/servicegraphconnector/go.sum index 7271b190e823..07e4c3ed454d 100644 --- a/connector/servicegraphconnector/go.sum +++ b/connector/servicegraphconnector/go.sum @@ -8,6 +8,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -19,8 +21,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -41,8 +43,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -68,29 +70,27 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -107,134 +107,142 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.1 h1:UiBhFP07YbZlv3fW2D/Xi0DrEMRGw2QB1DLV2JiJEis= -go.opentelemetry.io/collector/client v1.14.1/go.mod h1:a8A6aWydaeiItFzY0zlHO/Q6mLNnZsW0Y/iVxbJsO4A= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.1 h1:If0hRGyfDbC9Y80CYcLBKeSdY7BXcs98r7gPJlzH5uU= -go.opentelemetry.io/collector/config/configauth v0.108.1/go.mod h1:8P3fOkwwP7k09xaTKmu7MrMgTZmMXtWdUrJQgjhy3a4= -go.opentelemetry.io/collector/config/configcompression v1.14.1 h1:YiNlBSeyDaFWrDPFpMJ7y7XlWYMDV0bh8GwO9ukXNa8= -go.opentelemetry.io/collector/config/configcompression v1.14.1/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.1 h1:+KRFQfm0W2NHEtNMa1UuXvXvBX6B/2CTBvJk6Zi3Jhk= -go.opentelemetry.io/collector/config/confighttp v0.108.1/go.mod h1:iqdC0Gljy2U7HDX3a7pZlAH2EI3TNhFWyoVwc9R16XE= -go.opentelemetry.io/collector/config/configopaque v1.14.1 h1:5xAEa4ld+57xWKdU2gR5/6+rBa7LTCPfShJQFUxN0Zw= -go.opentelemetry.io/collector/config/configopaque v1.14.1/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.1 h1:kJBpb/1GGKktEa6taf4TgfFY34JD4WpCFVq9by+VWyU= -go.opentelemetry.io/collector/config/configretry v1.14.1/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.1 h1:cd5kNvLnIe+GVHUV6Fk6O5fkwS4at8dVCrFo7t0O8kE= -go.opentelemetry.io/collector/config/configtls v1.14.1/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.1 h1:Z/U8+UpvGT2DZ64/kp/nlosJgjCkhZ7MaEqQ3QHudyo= -go.opentelemetry.io/collector/config/internal v0.108.1/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.1 h1:h1kuC5Lvzxb3LcShUXdVHjh+PpqX/Kpd2ypNObwxH0s= -go.opentelemetry.io/collector/extension/auth v0.108.1/go.mod h1:QLvy/dJdiPEhUbkhqIythMoVnZxmvbzeA2Wnm4oZSgU= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240902085631-cd1f7623fe67 h1:ObLO/tbldgX48dHPw4gZkeJiqmqsgqjSiDJwvvAhSfA= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240902085631-cd1f7623fe67/go.mod h1:sC+uLT76/Qujoew95f3Wfa6NGNd3F3trxNrJTr0dU3c= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1 h1:OH250Z/bXJTZjkeMwUERbLZiNPETlOxE3q4n536Kc4s= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1/go.mod h1:3QSnFvGq5jXXwSPi94x2ggBGPZxdtD0lxpPOpV3RZRc= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 h1:ZWEsXeCbNUP4GXRvlkVXBpqIH9rNtnk1knZDORo/7zA= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0/go.mod h1:76mYXizxjo8rcRsvyTuNtPykVuqmZWGcV6lGs7+++J8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 h1:529bKb9LBG8WJYxLJikl6/yUoJ+EB7BYkg3cagh/slI= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0/go.mod h1:GQgYpmD2rIGwSNd0Lz5tbVzuEyj9xdmqPN0xbkCYtts= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 h1:ZB2PoClyiXsIs6k7RxmpEtduWWjT01pQ8joXWiJ0kzo= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0/go.mod h1:q5RafpmzsbsAhs0PCz6jbMOl7XYkp0f2NYs4lxQbkOI= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -254,8 +262,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -266,12 +274,12 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -282,14 +290,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/servicegraphconnector/internal/metadata/generated_telemetry.go b/connector/servicegraphconnector/internal/metadata/generated_telemetry.go index ca849dc0df61..490ed1881c16 100644 --- a/connector/servicegraphconnector/internal/metadata/generated_telemetry.go +++ b/connector/servicegraphconnector/internal/metadata/generated_telemetry.go @@ -35,15 +35,23 @@ type TelemetryBuilder struct { meters map[configtelemetry.Level]metric.Meter } -// telemetryBuilderOption applies changes to default builder. -type telemetryBuilderOption func(*TelemetryBuilder) +// TelemetryBuilderOption applies changes to default builder. +type TelemetryBuilderOption interface { + apply(*TelemetryBuilder) +} + +type telemetryBuilderOptionFunc func(mb *TelemetryBuilder) + +func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { + tbof(mb) +} // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component -func NewTelemetryBuilder(settings component.TelemetrySettings, options ...telemetryBuilderOption) (*TelemetryBuilder, error) { +func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { builder := TelemetryBuilder{meters: map[configtelemetry.Level]metric.Meter{}} for _, op := range options { - op(&builder) + op.apply(&builder) } builder.meters[configtelemetry.LevelBasic] = LeveledMeter(settings, configtelemetry.LevelBasic) var err, errs error diff --git a/connector/servicegraphconnector/internal/metadata/generated_telemetry_test.go b/connector/servicegraphconnector/internal/metadata/generated_telemetry_test.go index 832394e709f6..edd8550da807 100644 --- a/connector/servicegraphconnector/internal/metadata/generated_telemetry_test.go +++ b/connector/servicegraphconnector/internal/metadata/generated_telemetry_test.go @@ -75,9 +75,9 @@ func TestNewTelemetryBuilder(t *testing.T) { TracerProvider: mockTracerProvider{}, } applied := false - _, err := NewTelemetryBuilder(set, func(b *TelemetryBuilder) { + _, err := NewTelemetryBuilder(set, telemetryBuilderOptionFunc(func(b *TelemetryBuilder) { applied = true - }) + })) require.NoError(t, err) require.True(t, applied) } diff --git a/connector/servicegraphconnector/metadata.yaml b/connector/servicegraphconnector/metadata.yaml index 3f36f531c093..420ec391a716 100644 --- a/connector/servicegraphconnector/metadata.yaml +++ b/connector/servicegraphconnector/metadata.yaml @@ -4,7 +4,7 @@ status: class: connector stability: alpha: [traces_to_metrics] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [jpkrohling, mapno, JaredTan95] diff --git a/connector/servicegraphconnector/util.go b/connector/servicegraphconnector/util.go index 25c0bea082aa..11d7ea2be9ea 100644 --- a/connector/servicegraphconnector/util.go +++ b/connector/servicegraphconnector/util.go @@ -5,7 +5,7 @@ package servicegraphconnector // import "github.com/open-telemetry/opentelemetry import ( "go.opentelemetry.io/collector/pdata/pcommon" - semconv "go.opentelemetry.io/collector/semconv/v1.9.0" + semconv "go.opentelemetry.io/collector/semconv/v1.25.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil" ) diff --git a/connector/spanmetricsconnector/connector.go b/connector/spanmetricsconnector/connector.go index 89ed6e15b5f5..1e5d54b793d7 100644 --- a/connector/spanmetricsconnector/connector.go +++ b/connector/spanmetricsconnector/connector.go @@ -17,7 +17,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector/internal/cache" diff --git a/connector/spanmetricsconnector/connector_test.go b/connector/spanmetricsconnector/connector_test.go index 4d1789c898af..72f65db0cd64 100644 --- a/connector/spanmetricsconnector/connector_test.go +++ b/connector/spanmetricsconnector/connector_test.go @@ -22,7 +22,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest" @@ -114,7 +114,7 @@ func verifyExemplarsExist(t testing.TB, input pmetric.Metrics) bool { dps := metric.Histogram().DataPoints() for dp := 0; dp < dps.Len(); dp++ { d := dps.At(dp) - assert.Greater(t, d.Exemplars().Len(), 0) + assert.Positive(t, d.Exemplars().Len()) } } } @@ -659,7 +659,7 @@ func TestConcurrentShutdown(t *testing.T) { for i := 0; i < concurrency; i++ { go func() { err := p.Shutdown(ctx) - require.NoError(t, err) + assert.NoError(t, err) wg.Done() }() } @@ -1645,7 +1645,7 @@ func assertDataPointsHaveExactlyOneExemplarForTrace(t *testing.T, metrics pmetri switch metric.Type() { case pmetric.MetricTypeSum: dps := metric.Sum().DataPoints() - assert.Greater(t, dps.Len(), 0) + assert.Positive(t, dps.Len()) for dpi := 0; dpi < dps.Len(); dpi++ { dp := dps.At(dpi) assert.Equal(t, 1, dp.Exemplars().Len()) @@ -1653,7 +1653,7 @@ func assertDataPointsHaveExactlyOneExemplarForTrace(t *testing.T, metrics pmetri } case pmetric.MetricTypeHistogram: dps := metric.Histogram().DataPoints() - assert.Greater(t, dps.Len(), 0) + assert.Positive(t, dps.Len()) for dpi := 0; dpi < dps.Len(); dpi++ { dp := dps.At(dpi) assert.Equal(t, 1, dp.Exemplars().Len()) @@ -1661,7 +1661,7 @@ func assertDataPointsHaveExactlyOneExemplarForTrace(t *testing.T, metrics pmetri } case pmetric.MetricTypeExponentialHistogram: dps := metric.ExponentialHistogram().DataPoints() - assert.Greater(t, dps.Len(), 0) + assert.Positive(t, dps.Len()) for dpi := 0; dpi < dps.Len(); dpi++ { dp := dps.At(dpi) assert.Equal(t, 1, dp.Exemplars().Len()) diff --git a/connector/spanmetricsconnector/generated_component_test.go b/connector/spanmetricsconnector/generated_component_test.go index 706f7ba1ab53..e7cc57f77531 100644 --- a/connector/spanmetricsconnector/generated_component_test.go +++ b/connector/spanmetricsconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateTracesToMetrics(ctx, set, cfg, router) }, }, @@ -48,21 +49,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/spanmetricsconnector/go.mod b/connector/spanmetricsconnector/go.mod index 2358d8a23f39..3125ed3db30d 100644 --- a/connector/spanmetricsconnector/go.mod +++ b/connector/spanmetricsconnector/go.mod @@ -3,39 +3,38 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanm go 1.22.0 require ( - github.com/hashicorp/golang-lru v1.0.2 github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/jonboulle/clockwork v0.4.0 github.com/lightstep/go-expohisto v1.0.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -43,30 +42,24 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/spanmetricsconnector/go.sum b/connector/spanmetricsconnector/go.sum index fd8822bc8022..8640558995e1 100644 --- a/connector/spanmetricsconnector/go.sum +++ b/connector/spanmetricsconnector/go.sum @@ -1,5 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -10,8 +8,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -21,8 +19,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= -github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= @@ -31,8 +27,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -43,8 +37,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lightstep/go-expohisto v1.0.0 h1:UPtTS1rGdtehbbAF7o/dhkWLTDI73UifG8LbfQI7cA4= github.com/lightstep/go-expohisto v1.0.0/go.mod h1:xDXD0++Mu2FOaItXtdDfksfgxfV0z1TMPa+e/EUd0cs= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -56,68 +48,60 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -141,12 +125,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -157,10 +141,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/spanmetricsconnector/internal/cache/cache.go b/connector/spanmetricsconnector/internal/cache/cache.go index 2559d42eadf7..c59eadd3ebcc 100644 --- a/connector/spanmetricsconnector/internal/cache/cache.go +++ b/connector/spanmetricsconnector/internal/cache/cache.go @@ -4,7 +4,7 @@ package cache // import "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector/internal/cache" import ( - "github.com/hashicorp/golang-lru/simplelru" + "github.com/hashicorp/golang-lru/v2/simplelru" ) // Cache consists of an LRU cache and the evicted items from the LRU cache. @@ -15,15 +15,15 @@ import ( // // Important: This implementation is non-thread safe. type Cache[K comparable, V any] struct { - lru simplelru.LRUCache + lru *simplelru.LRU[K, V] evictedItems map[K]V } // NewCache creates a Cache. func NewCache[K comparable, V any](size int) (*Cache[K, V], error) { evictedItems := make(map[K]V) - lruCache, err := simplelru.NewLRU(size, func(key any, value any) { - evictedItems[key.(K)] = value.(V) + lruCache, err := simplelru.NewLRU(size, func(key K, value V) { + evictedItems[key] = value }) if err != nil { return nil, err @@ -51,7 +51,7 @@ func (c *Cache[K, V]) Add(key K, value V) bool { // Get an item from the LRU cache or evicted items. func (c *Cache[K, V]) Get(key K) (V, bool) { if val, ok := c.lru.Get(key); ok { - return val.(V), ok + return val, ok } val, ok := c.evictedItems[key] @@ -85,7 +85,7 @@ func (c *Cache[K, V]) ForEach(fn func(k K, v V)) { for _, k := range c.lru.Keys() { v, ok := c.lru.Get(k) if ok { - fn(k.(K), v.(V)) + fn(k, v) } } diff --git a/connector/sumconnector/README.md b/connector/sumconnector/README.md index 105783c17e1a..85467bd819dd 100644 --- a/connector/sumconnector/README.md +++ b/connector/sumconnector/README.md @@ -6,15 +6,15 @@ | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aconnector%2Fsum%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aconnector%2Fsum) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aconnector%2Fsum%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aconnector%2Fsum) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@greatestusername](https://www.github.com/greatestusername), [@shalper2](https://www.github.com/shalper2), [@crobert-1](https://www.github.com/crobert-1) | -[development]: https://github.com/open-telemetry/opentelemetry-collector#development +[alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha ## Supported Pipeline Types | [Exporter Pipeline Type] | [Receiver Pipeline Type] | [Stability Level] | | ------------------------ | ------------------------ | ----------------- | -| traces | metrics | [development] | -| metrics | metrics | [development] | -| logs | metrics | [development] | +| traces | metrics | [alpha] | +| metrics | metrics | [alpha] | +| logs | metrics | [alpha] | [Exporter Pipeline Type]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/connector/README.md#exporter-pipeline-type [Receiver Pipeline Type]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/connector/README.md#receiver-pipeline-type @@ -27,18 +27,18 @@ The `sum` connector can be used to sum attribute values from spans, span events, If you are not already familiar with connectors, you may find it helpful to first visit the [Connectors README](https://github.com/open-telemetry/opentelemetry-collector/blob/main/connector/README.md). -### Configuration +### Basic configuration -#### Basic configuration +This example configuration will sum numerical values found within the attribute `attribute.with.numerical.value` of any span telemetry routed to the connector. It will then output a metric time series with the name `my.example.metric.name` with those summed values. -This configuration will sum numerical values found within the attribute `attribute.with.numerical.value` of any log telemetry routed to the connector. It will then output a metric time series with the name `my.example.metric.name` with those summed values. +Note: Values found within an attribute will be converted into a float regardless of their original type before being summed and output as a metric value. Non-convertible strings will be dropped and not included. ```yaml receivers: foo: connectors: sum: - logs: + spans: my.example.metric.name: source_attribute: attribute.with.numerical.value exporters: @@ -49,7 +49,7 @@ service: metrics/sum: receivers: [sum] exporters: [bar] - logs: + traces: receivers: [foo] exporters: [sum] ``` @@ -58,19 +58,21 @@ service: The sum connector has three required configuration settings and numerous optional settings -- Telemetry type: Nested below the `sum:` connector declaration. Declared as `logs:` in the [Basic Example](#basic-configuration). - - Can be any of `spans`, `spanevents`, `metrics`, `datapoints`, or `logs`. +- Telemetry type: Nested below the `sum:` connector declaration. Declared as `logs:` in the [Basic Example](#basic-configuration). + - Can be any of `spans`, `spanevents`, `datapoints`, or `logs`. + - For metrics use `datapoints` + - For traces use `spans` or `spanevents` - Metric name: Nested below the telemetry type; this is the metric name the sum connector will output summed values to. Declared as `my.example.metric.name` in the [Basic Example](#basic-configuration) - `source_attribute`: A specific attribute to search for within the source telemetry being fed to the connector. This attribute is where the connector will look for numerical values to sum into the output metric value. Declared as `attribute.with.numerical.value` in the [Basic Example](#basic-configuration) #### Optional Settings -- `conditions`: [OTTL syntax](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/LANGUAGE.md) can be used to provide conditions for processing incoming telemetry. Conditions are ORed together, so if any condition is met the attribute's value will be included in the resulting sum. -- `attributes`: Declaration of attributes to include. Any of these attributes found will generate a separate sum for each set of unique combination of attribute values and output as its own datapoint in the metric time series. +- `conditions`: [OTTL syntax](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/LANGUAGE.md) can be used to provide conditions for processing incoming telemetry. Conditions are ORed together, so if any condition is met the attribute's value will be included in the resulting sum. +- `attributes`: Declaration of attributes to include. Any of these attributes found will generate a separate sum for each set of unique combination of attribute values and output as its own datapoint in the metric time series. - `key`: (required for `attributes`) the attribute name to match against - `default_value`: (optional for `attributes`) a default value for the attribute when no matches are found. The `default_value` value can be of type string, integer, or float. -#### Detailed Example Configuration +### Detailed Example Configuration This example declares that the `sum` connector is going to be ingesting `logs` and creating an output metric named `checkout.total` with numerical values found in the `source_attribute` `total.payment`. @@ -102,4 +104,14 @@ service: exporters: [sum] ``` +**Note for Log to Metrics:** If your logs contain all values in their `body` rather than in attributes (E.G. JSON payload) use a transform processor in your pipeline to upsert [parsed key/value pairs](https://github.com/open-telemetry/opentelemetry-log-collection/tree/main/docs/operators) (in this case from JSON) into attributes attached to the log. +```yaml +processors: + transform/logs: + log_statements: + - context: log + statements: + - merge_maps(attributes, ParseJSON(body), "upsert") +``` + [Connectors README]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/connector/README.md diff --git a/connector/sumconnector/config_test.go b/connector/sumconnector/config_test.go index 17cc98ed5926..79462d8f3099 100644 --- a/connector/sumconnector/config_test.go +++ b/connector/sumconnector/config_test.go @@ -574,8 +574,7 @@ func TestConfigErrors(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { err := tc.input.Validate() - assert.Error(t, err) - assert.Contains(t, err.Error(), tc.expect) + assert.ErrorContains(t, err, tc.expect) }) } } diff --git a/connector/sumconnector/connector.go b/connector/sumconnector/connector.go index 22ed13dd5c02..e9800c877a44 100644 --- a/connector/sumconnector/connector.go +++ b/connector/sumconnector/connector.go @@ -5,9 +5,12 @@ package sumconnector // import "github.com/open-telemetry/opentelemetry-collecto import ( "context" + "errors" + "fmt" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/consumer" + "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" @@ -38,22 +41,158 @@ func (c *sum) Capabilities() consumer.Capabilities { } func (c *sum) ConsumeTraces(ctx context.Context, td ptrace.Traces) error { + var multiError error sumMetrics := pmetric.NewMetrics() sumMetrics.ResourceMetrics().EnsureCapacity(td.ResourceSpans().Len()) + for i := 0; i < td.ResourceSpans().Len(); i++ { + resourceSpan := td.ResourceSpans().At(i) + spansSummer := newSummer[ottlspan.TransformContext](c.spansMetricDefs) + spanEventsSummer := newSummer[ottlspanevent.TransformContext](c.spanEventsMetricDefs) + for j := 0; j < resourceSpan.ScopeSpans().Len(); j++ { + scopeSpan := resourceSpan.ScopeSpans().At(j) + + for k := 0; k < scopeSpan.Spans().Len(); k++ { + span := scopeSpan.Spans().At(k) + sCtx := ottlspan.NewTransformContext(span, scopeSpan.Scope(), resourceSpan.Resource(), scopeSpan, resourceSpan) + multiError = errors.Join(multiError, spansSummer.update(ctx, span.Attributes(), sCtx)) + + for l := 0; l < span.Events().Len(); l++ { + event := span.Events().At(l) + eCtx := ottlspanevent.NewTransformContext(event, span, scopeSpan.Scope(), resourceSpan.Resource(), scopeSpan, resourceSpan) + multiError = errors.Join(multiError, spanEventsSummer.update(ctx, event.Attributes(), eCtx)) + } + } + } + + if len(spansSummer.sums)+len(spanEventsSummer.sums) == 0 { + continue // don't add an empty resource + } + + sumResource := sumMetrics.ResourceMetrics().AppendEmpty() + resourceSpan.Resource().Attributes().CopyTo(sumResource.Resource().Attributes()) + + sumResource.ScopeMetrics().EnsureCapacity(resourceSpan.ScopeSpans().Len()) + sumScope := sumResource.ScopeMetrics().AppendEmpty() + + spansSummer.appendMetricsTo(sumScope.Metrics()) + spanEventsSummer.appendMetricsTo(sumScope.Metrics()) + } + if multiError != nil { + return multiError + } return c.metricsConsumer.ConsumeMetrics(ctx, sumMetrics) } func (c *sum) ConsumeMetrics(ctx context.Context, md pmetric.Metrics) error { + var multiError error sumMetrics := pmetric.NewMetrics() sumMetrics.ResourceMetrics().EnsureCapacity(md.ResourceMetrics().Len()) + for i := 0; i < md.ResourceMetrics().Len(); i++ { + resourceMetric := md.ResourceMetrics().At(i) + metricsSummer := newSummer[ottlmetric.TransformContext](c.metricsMetricDefs) + dataPointsSummer := newSummer[ottldatapoint.TransformContext](c.dataPointsMetricDefs) + + for j := 0; j < resourceMetric.ScopeMetrics().Len(); j++ { + scopeMetrics := resourceMetric.ScopeMetrics().At(j) + + for k := 0; k < scopeMetrics.Metrics().Len(); k++ { + metric := scopeMetrics.Metrics().At(k) + mCtx := ottlmetric.NewTransformContext(metric, scopeMetrics.Metrics(), scopeMetrics.Scope(), resourceMetric.Resource(), scopeMetrics, resourceMetric) + multiError = errors.Join(multiError, metricsSummer.update(ctx, pcommon.NewMap(), mCtx)) + + //exhaustive:enforce + // For metric types each must be handled in exactly the same way + // Switch case required because each type calls DataPoints() differently + switch metric.Type() { + case pmetric.MetricTypeGauge: + dps := metric.Gauge().DataPoints() + for i := 0; i < dps.Len(); i++ { + dCtx := ottldatapoint.NewTransformContext(dps.At(i), metric, scopeMetrics.Metrics(), scopeMetrics.Scope(), resourceMetric.Resource(), scopeMetrics, resourceMetric) + multiError = errors.Join(multiError, dataPointsSummer.update(ctx, dps.At(i).Attributes(), dCtx)) + } + case pmetric.MetricTypeSum: + dps := metric.Sum().DataPoints() + for i := 0; i < dps.Len(); i++ { + dCtx := ottldatapoint.NewTransformContext(dps.At(i), metric, scopeMetrics.Metrics(), scopeMetrics.Scope(), resourceMetric.Resource(), scopeMetrics, resourceMetric) + multiError = errors.Join(multiError, dataPointsSummer.update(ctx, dps.At(i).Attributes(), dCtx)) + } + case pmetric.MetricTypeSummary: + dps := metric.Summary().DataPoints() + for i := 0; i < dps.Len(); i++ { + dCtx := ottldatapoint.NewTransformContext(dps.At(i), metric, scopeMetrics.Metrics(), scopeMetrics.Scope(), resourceMetric.Resource(), scopeMetrics, resourceMetric) + multiError = errors.Join(multiError, dataPointsSummer.update(ctx, dps.At(i).Attributes(), dCtx)) + } + case pmetric.MetricTypeHistogram: + dps := metric.Histogram().DataPoints() + for i := 0; i < dps.Len(); i++ { + dCtx := ottldatapoint.NewTransformContext(dps.At(i), metric, scopeMetrics.Metrics(), scopeMetrics.Scope(), resourceMetric.Resource(), scopeMetrics, resourceMetric) + multiError = errors.Join(multiError, dataPointsSummer.update(ctx, dps.At(i).Attributes(), dCtx)) + } + case pmetric.MetricTypeExponentialHistogram: + dps := metric.ExponentialHistogram().DataPoints() + for i := 0; i < dps.Len(); i++ { + dCtx := ottldatapoint.NewTransformContext(dps.At(i), metric, scopeMetrics.Metrics(), scopeMetrics.Scope(), resourceMetric.Resource(), scopeMetrics, resourceMetric) + multiError = errors.Join(multiError, dataPointsSummer.update(ctx, dps.At(i).Attributes(), dCtx)) + } + case pmetric.MetricTypeEmpty: + multiError = errors.Join(multiError, fmt.Errorf("metric %q: invalid metric type: %v", metric.Name(), metric.Type())) + } + } + } + if len(metricsSummer.sums)+len(dataPointsSummer.sums) == 0 { + continue // don't add an empty resource + } + + sumResource := sumMetrics.ResourceMetrics().AppendEmpty() + resourceMetric.Resource().Attributes().CopyTo(sumResource.Resource().Attributes()) + + sumResource.ScopeMetrics().EnsureCapacity(resourceMetric.ScopeMetrics().Len()) + sumScope := sumResource.ScopeMetrics().AppendEmpty() + + metricsSummer.appendMetricsTo(sumScope.Metrics()) + dataPointsSummer.appendMetricsTo(sumScope.Metrics()) + } + if multiError != nil { + return multiError + } return c.metricsConsumer.ConsumeMetrics(ctx, sumMetrics) } func (c *sum) ConsumeLogs(ctx context.Context, ld plog.Logs) error { + var multiError error sumMetrics := pmetric.NewMetrics() sumMetrics.ResourceMetrics().EnsureCapacity(ld.ResourceLogs().Len()) + for i := 0; i < ld.ResourceLogs().Len(); i++ { + resourceLog := ld.ResourceLogs().At(i) + summer := newSummer[ottllog.TransformContext](c.logsMetricDefs) + + for j := 0; j < resourceLog.ScopeLogs().Len(); j++ { + scopeLogs := resourceLog.ScopeLogs().At(j) + + for k := 0; k < scopeLogs.LogRecords().Len(); k++ { + logRecord := scopeLogs.LogRecords().At(k) + + lCtx := ottllog.NewTransformContext(logRecord, scopeLogs.Scope(), resourceLog.Resource(), scopeLogs, resourceLog) + multiError = errors.Join(multiError, summer.update(ctx, logRecord.Attributes(), lCtx)) + } + } + + if len(summer.sums) == 0 { + continue // don't add an empty resource + } + + sumResource := sumMetrics.ResourceMetrics().AppendEmpty() + resourceLog.Resource().Attributes().CopyTo(sumResource.Resource().Attributes()) + + sumResource.ScopeMetrics().EnsureCapacity(resourceLog.ScopeLogs().Len()) + sumScope := sumResource.ScopeMetrics().AppendEmpty() + summer.appendMetricsTo(sumScope.Metrics()) + } + if multiError != nil { + return multiError + } return c.metricsConsumer.ConsumeMetrics(ctx, sumMetrics) } diff --git a/connector/sumconnector/connector_test.go b/connector/sumconnector/connector_test.go new file mode 100644 index 000000000000..d37129de7c02 --- /dev/null +++ b/connector/sumconnector/connector_test.go @@ -0,0 +1,627 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package sumconnector + +import ( + "context" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/connector/connectortest" + "go.opentelemetry.io/collector/consumer/consumertest" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/pmetrictest" +) + +// The test input file has a repetitive structure: +// - There are four resources, each with four spans, each with four span events. +// - The four resources have the following sets of attributes: +// - resource.required: foo, resource.optional: bar +// - resource.required: foo, resource.optional: notbar +// - resource.required: notfoo +// - (no attributes) +// +// - The four spans on each resource have the following sets of attributes: +// - span.required: foo, span.optional: bar +// - span.required: foo, span.optional: notbar +// - span.required: notfoo +// - (no attributes) +// +// - The four span events on each span have the following sets of attributes: +// - event.required: foo, event.optional: bar +// - event.required: foo, event.optional: notbar +// - event.required: notfoo +// - (no attributes) +func TestTracesToMetrics(t *testing.T) { + testCases := []struct { + name string + cfg *Config + }{ + { + name: "zero_conditions", + cfg: &Config{ + Spans: map[string]MetricInfo{ + "trace.span.sum": { + Description: "The sum of beep values observed in spans.", + SourceAttribute: "beep", + }, + }, + SpanEvents: map[string]MetricInfo{ + "trace.span.event.sum": { + Description: "The sum of beep values observed in span events.", + SourceAttribute: "beep", + }, + }, + }, + }, + { + name: "one_condition", + cfg: &Config{ + Spans: map[string]MetricInfo{ + "span.sum.if": { + Description: "Span sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + }, + }, + SpanEvents: map[string]MetricInfo{ + "spanevent.sum.if": { + Description: "Span event sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "one_attribute", + cfg: &Config{ + Spans: map[string]MetricInfo{ + "span.sum.by_attr": { + Description: "Span sum by attribute", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "span.required", + }, + }, + }, + }, + SpanEvents: map[string]MetricInfo{ + "spanevent.sum.by_attr": { + Description: "Span event sum by attribute", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "event.required", + }, + }, + }, + }, + }, + }, + { + name: "multiple_conditions", + cfg: &Config{ + Spans: map[string]MetricInfo{ + "span.sum.if": { + Description: "Span sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + `attributes["span.optional"] != nil`, + }, + }, + }, + SpanEvents: map[string]MetricInfo{ + "spanevent.sum.if": { + Description: "Span event sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + `attributes["event.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "multiple_attributes", + cfg: &Config{ + Spans: map[string]MetricInfo{ + "span.sum.by_attr": { + Description: "Span sum by attributes", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "span.required", + }, + { + Key: "span.optional", + }, + }, + }, + }, + SpanEvents: map[string]MetricInfo{ + "spanevent.sum.by_attr": { + Description: "Span event sum by attributes", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "event.required", + }, + { + Key: "event.optional", + }, + }, + }, + }, + }, + }, + { + name: "multiple_metrics", + cfg: &Config{ + Spans: map[string]MetricInfo{ + "span.sum.all": { + Description: "All spans sum", + SourceAttribute: "beep", + }, + "span.sum.if": { + Description: "Span sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + `attributes["span.optional"] != nil`, + }, + }, + }, + SpanEvents: map[string]MetricInfo{ + "spanevent.sum.all": { + Description: "All span events sum", + SourceAttribute: "beep", + }, + "spanevent.sum.if": { + Description: "Span event sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + `attributes["event.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "condition_and_attribute", + cfg: &Config{ + Spans: map[string]MetricInfo{ + "span.sum.if.by_attr": { + Description: "Span sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + Attributes: []AttributeConfig{ + { + Key: "span.required", + }, + }, + }, + }, + SpanEvents: map[string]MetricInfo{ + "spanevent.sum.if.by_attr": { + Description: "Span event sum by attribute if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + Attributes: []AttributeConfig{ + { + Key: "event.required", + }, + }, + }, + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + require.NoError(t, tc.cfg.Validate()) + factory := NewFactory() + sink := &consumertest.MetricsSink{} + conn, err := factory.CreateTracesToMetrics(context.Background(), + connectortest.NewNopSettings(), tc.cfg, sink) + require.NoError(t, err) + require.NotNil(t, conn) + assert.False(t, conn.Capabilities().MutatesData) + + require.NoError(t, conn.Start(context.Background(), componenttest.NewNopHost())) + defer func() { + assert.NoError(t, conn.Shutdown(context.Background())) + }() + + testSpans, err := golden.ReadTraces(filepath.Join("testdata", "traces", "input.yaml")) + assert.NoError(t, err) + assert.NoError(t, conn.ConsumeTraces(context.Background(), testSpans)) + + allMetrics := sink.AllMetrics() + assert.Len(t, allMetrics, 1) + + expected, err := golden.ReadMetrics(filepath.Join("testdata", "traces", tc.name+".yaml")) + assert.NoError(t, err) + assert.NoError(t, pmetrictest.CompareMetrics(expected, allMetrics[0], + pmetrictest.IgnoreTimestamp(), + pmetrictest.IgnoreResourceMetricsOrder(), + pmetrictest.IgnoreMetricsOrder(), + pmetrictest.IgnoreMetricFloatPrecision(3), + pmetrictest.IgnoreMetricDataPointsOrder())) + }) + } +} + +// The test input file has a repetitive structure: +// - There are four resources, each with six metrics, each with four data points. +// - The four resources have the following sets of attributes: +// - resource.required: foo, resource.optional: bar +// - resource.required: foo, resource.optional: notbar +// - resource.required: notfoo +// - (no attributes) +// +// - The size metrics have the following sets of types: +// - int gauge, double gauge, int sum, double sum, historgram, summary +// +// - The four data points on each metric have the following sets of attributes: +// - datapoint.required: foo, datapoint.optional: bar +// - datapoint.required: foo, datapoint.optional: notbar +// - datapoint.required: notfoo +// - (no attributes) +func TestMetricsToMetrics(t *testing.T) { + testCases := []struct { + name string + cfg *Config + }{ + { + name: "one_attribute", + cfg: &Config{ + DataPoints: map[string]MetricInfo{ + "datapoint.sum.by_attr": { + Description: "Data point sum by attribute", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "datapoint.required", + }, + }, + }, + }, + }, + }, + { + name: "one_condition", + cfg: &Config{ + DataPoints: map[string]MetricInfo{ + "datapoint.sum.if": { + Description: "Data point sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "multiple_conditions", + cfg: &Config{ + DataPoints: map[string]MetricInfo{ + "datapoint.sum.if": { + Description: "Data point sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + `attributes["datapoint.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "multiple_metrics", + cfg: &Config{ + DataPoints: map[string]MetricInfo{ + "datapoint.sum.all": { + Description: "All data points sum", + SourceAttribute: "beep", + }, + "datapoint.sum.if": { + Description: "Data point sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + `attributes["datapoint.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "multiple_attributes", + cfg: &Config{ + DataPoints: map[string]MetricInfo{ + "datapoint.sum.by_attr": { + Description: "Data point sum by attributes", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "datapoint.required", + }, + { + Key: "datapoint.optional", + }, + }, + }, + }, + }, + }, + { + name: "default_attribute_value", + cfg: &Config{ + DataPoints: map[string]MetricInfo{ + "datapoint.sum.by_attr": { + Description: "Data point sum by attribute with default", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "datapoint.required", + }, + { + Key: "datapoint.optional", + DefaultValue: "other", + }, + }, + }, + }, + }, + }, + { + name: "condition_and_attribute", + cfg: &Config{ + DataPoints: map[string]MetricInfo{ + "datapoint.sum.if.by_attr": { + Description: "Data point sum by attribute if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + Attributes: []AttributeConfig{ + { + Key: "datapoint.required", + }, + }, + }, + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + require.NoError(t, tc.cfg.Validate()) + factory := NewFactory() + sink := &consumertest.MetricsSink{} + conn, err := factory.CreateMetricsToMetrics(context.Background(), + connectortest.NewNopSettings(), tc.cfg, sink) + require.NoError(t, err) + require.NotNil(t, conn) + assert.False(t, conn.Capabilities().MutatesData) + + require.NoError(t, conn.Start(context.Background(), componenttest.NewNopHost())) + defer func() { + assert.NoError(t, conn.Shutdown(context.Background())) + }() + + testMetrics, err := golden.ReadMetrics(filepath.Join("testdata", "metrics", "input.yaml")) + assert.NoError(t, err) + assert.NoError(t, conn.ConsumeMetrics(context.Background(), testMetrics)) + + allMetrics := sink.AllMetrics() + assert.Len(t, allMetrics, 1) + + expected, err := golden.ReadMetrics(filepath.Join("testdata", "metrics", tc.name+".yaml")) + assert.NoError(t, err) + assert.NoError(t, pmetrictest.CompareMetrics(expected, allMetrics[0], + pmetrictest.IgnoreTimestamp(), + pmetrictest.IgnoreResourceMetricsOrder(), + pmetrictest.IgnoreMetricsOrder(), + pmetrictest.IgnoreMetricFloatPrecision(3), + pmetrictest.IgnoreMetricDataPointsOrder())) + }) + } +} + +// The test input file has a repetitive structure: +// - There are four resources, each with four logs. +// - The four resources have the following sets of attributes: +// - resource.required: foo, resource.optional: bar +// - resource.required: foo, resource.optional: notbar +// - resource.required: notfoo +// - (no attributes) +// +// - The four logs on each resource have the following sets of attributes: +// - log.required: foo, log.optional: bar +// - log.required: foo, log.optional: notbar +// - log.required: notfoo +// - (no attributes) +func TestLogsToMetrics(t *testing.T) { + testCases := []struct { + name string + cfg *Config + }{ + { + name: "one_attribute", + cfg: &Config{ + Logs: map[string]MetricInfo{ + "log.sum.by_attr": { + Description: "Log sum by attribute", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "log.required", + }, + }, + }, + }, + }, + }, + { + name: "one_condition", + cfg: &Config{ + Logs: map[string]MetricInfo{ + "sum.if": { + Description: "Sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "multiple_conditions", + cfg: &Config{ + Logs: map[string]MetricInfo{ + "sum.if": { + Description: "Sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + `attributes["log.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "multiple_metrics", + cfg: &Config{ + Logs: map[string]MetricInfo{ + "sum.all": { + Description: "All logs Sum", + SourceAttribute: "beep", + }, + "sum.if": { + Description: "Sum if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + }, + }, + }, + }, + { + name: "multiple_attributes", + cfg: &Config{ + Logs: map[string]MetricInfo{ + "log.sum.by_attr": { + Description: "Log sum by attributes", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "log.required", + }, + { + Key: "log.optional", + }, + }, + }, + }, + }, + }, + { + name: "default_attribute_value", + cfg: &Config{ + Logs: map[string]MetricInfo{ + "log.sum.by_attr": { + Description: "Log sum by attribute with default", + SourceAttribute: "beep", + Attributes: []AttributeConfig{ + { + Key: "log.required", + }, + { + Key: "log.optional", + DefaultValue: "other", + }, + }, + }, + }, + }, + }, + { + name: "condition_and_attribute", + cfg: &Config{ + Logs: map[string]MetricInfo{ + "log.sum.if.by_attr": { + Description: "Log sum by attribute if ...", + SourceAttribute: "beep", + Conditions: []string{ + `resource.attributes["resource.optional"] != nil`, + }, + Attributes: []AttributeConfig{ + { + Key: "log.required", + }, + }, + }, + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + require.NoError(t, tc.cfg.Validate()) + factory := NewFactory() + sink := &consumertest.MetricsSink{} + conn, err := factory.CreateLogsToMetrics(context.Background(), + connectortest.NewNopSettings(), tc.cfg, sink) + require.NoError(t, err) + require.NotNil(t, conn) + assert.False(t, conn.Capabilities().MutatesData) + + require.NoError(t, conn.Start(context.Background(), componenttest.NewNopHost())) + defer func() { + assert.NoError(t, conn.Shutdown(context.Background())) + }() + + testLogs, err := golden.ReadLogs(filepath.Join("testdata", "logs", "input.yaml")) + assert.NoError(t, err) + assert.NoError(t, conn.ConsumeLogs(context.Background(), testLogs)) + + allMetrics := sink.AllMetrics() + assert.Len(t, allMetrics, 1) + + expected, err := golden.ReadMetrics(filepath.Join("testdata", "logs", tc.name+".yaml")) + assert.NoError(t, err) + assert.NoError(t, pmetrictest.CompareMetrics(expected, allMetrics[0], + pmetrictest.IgnoreTimestamp(), + pmetrictest.IgnoreResourceMetricsOrder(), + pmetrictest.IgnoreMetricsOrder(), + pmetrictest.IgnoreMetricFloatPrecision(3), + pmetrictest.IgnoreMetricDataPointsOrder())) + }) + } +} diff --git a/connector/sumconnector/generated_component_test.go b/connector/sumconnector/generated_component_test.go index afb150c1b11c..1b2cdafd6f3f 100644 --- a/connector/sumconnector/generated_component_test.go +++ b/connector/sumconnector/generated_component_test.go @@ -14,6 +14,7 @@ import ( "go.opentelemetry.io/collector/connector/connectortest" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pipeline" ) func TestComponentFactoryType(t *testing.T) { @@ -35,7 +36,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateLogsToMetrics(ctx, set, cfg, router) }, }, @@ -43,7 +44,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateMetricsToMetrics(ctx, set, cfg, router) }, }, @@ -51,7 +52,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces_to_metrics", createFn: func(ctx context.Context, set connector.Settings, cfg component.Config) (component.Component, error) { - router := connector.NewMetricsRouter(map[component.ID]consumer.Metrics{component.NewID(component.DataTypeMetrics): consumertest.NewNop()}) + router := connector.NewMetricsRouter(map[pipeline.ID]consumer.Metrics{pipeline.NewID(pipeline.SignalMetrics): consumertest.NewNop()}) return factory.CreateTracesToMetrics(ctx, set, cfg, router) }, }, @@ -64,21 +65,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - firstConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + firstConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() require.NoError(t, err) require.NoError(t, firstConnector.Start(context.Background(), host)) require.NoError(t, firstConnector.Shutdown(context.Background())) - secondConnector, err := test.createFn(context.Background(), connectortest.NewNopSettings(), cfg) + secondConnector, err := tt.createFn(context.Background(), connectortest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondConnector.Start(context.Background(), host)) require.NoError(t, secondConnector.Shutdown(context.Background())) diff --git a/connector/sumconnector/go.mod b/connector/sumconnector/go.mod index ff12a0af84bd..1220a7dd3812 100644 --- a/connector/sumconnector/go.mod +++ b/connector/sumconnector/go.mod @@ -3,37 +3,44 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/connector/sumco go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/connector/connectortest v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -42,35 +49,29 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/connector/sumconnector/go.sum b/connector/sumconnector/go.sum index 5f1b81243aad..f8f0ad5d3d9a 100644 --- a/connector/sumconnector/go.sum +++ b/connector/sumconnector/go.sum @@ -4,8 +4,10 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -20,12 +22,16 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -43,8 +49,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -55,8 +59,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -68,20 +70,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -90,46 +82,49 @@ github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZO github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -139,42 +134,59 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/connector/sumconnector/internal/metadata/generated_status.go b/connector/sumconnector/internal/metadata/generated_status.go index d4155ac3e40a..5530f7f6b267 100644 --- a/connector/sumconnector/internal/metadata/generated_status.go +++ b/connector/sumconnector/internal/metadata/generated_status.go @@ -12,7 +12,7 @@ var ( ) const ( - TracesToMetricsStability = component.StabilityLevelDevelopment - MetricsToMetricsStability = component.StabilityLevelDevelopment - LogsToMetricsStability = component.StabilityLevelDevelopment + TracesToMetricsStability = component.StabilityLevelAlpha + MetricsToMetricsStability = component.StabilityLevelAlpha + LogsToMetricsStability = component.StabilityLevelAlpha ) diff --git a/connector/sumconnector/metadata.yaml b/connector/sumconnector/metadata.yaml index 42a50533af3d..d7e5b0b0fd01 100644 --- a/connector/sumconnector/metadata.yaml +++ b/connector/sumconnector/metadata.yaml @@ -3,7 +3,7 @@ type: sum status: class: connector stability: - development: [traces_to_metrics, metrics_to_metrics, logs_to_metrics] + alpha: [traces_to_metrics, metrics_to_metrics, logs_to_metrics] distributions: [] codeowners: active: [greatestusername, shalper2, crobert-1] diff --git a/connector/sumconnector/sum.go b/connector/sumconnector/sum.go new file mode 100644 index 000000000000..5c89ed19e42e --- /dev/null +++ b/connector/sumconnector/sum.go @@ -0,0 +1,154 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package sumconnector // import "github.com/open-telemetry/opentelemetry-collector-contrib/connector/sumconnector" + +import ( + "context" + "errors" + "fmt" + "strconv" + "time" + + "go.opentelemetry.io/collector/pdata/pcommon" + "go.opentelemetry.io/collector/pdata/pmetric" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil" +) + +var noAttributes = [16]byte{} + +func newSummer[K any](metricDefs map[string]metricDef[K]) *summer[K] { + return &summer[K]{ + metricDefs: metricDefs, + sums: make(map[string]map[[16]byte]*attrSummer, len(metricDefs)), + timestamp: time.Now(), + } +} + +type summer[K any] struct { + metricDefs map[string]metricDef[K] + sums map[string]map[[16]byte]*attrSummer + timestamp time.Time +} + +type attrSummer struct { + attrs pcommon.Map + sum float64 +} + +func (c *summer[K]) update(ctx context.Context, attrs pcommon.Map, tCtx K) error { + var multiError error + for name, md := range c.metricDefs { + sourceAttribute := md.sourceAttr + sumAttrs := pcommon.NewMap() + var sumVal float64 + + // Get source attribute value + if sourceAttrVal, ok := attrs.Get(sourceAttribute); ok { + switch { + case sourceAttrVal.Str() != "": + sumVal, _ = strconv.ParseFloat(sourceAttrVal.Str(), 64) + case sourceAttrVal.Double() != 0: + sumVal = sourceAttrVal.Double() + case sourceAttrVal.Int() != 0: + sumVal = float64(sourceAttrVal.Int()) + } + } + + // Get attribute values to include otherwise use default value + for _, attr := range md.attrs { + if attrVal, ok := attrs.Get(attr.Key); ok { + switch { + case attrVal.Str() != "": + sumAttrs.PutStr(attr.Key, attrVal.Str()) + case attrVal.Double() != 0: + sumAttrs.PutStr(attr.Key, fmt.Sprintf("%v", attrVal.Double())) + case attrVal.Int() != 0: + sumAttrs.PutStr(attr.Key, fmt.Sprintf("%v", attrVal.Int())) + } + } else if attr.DefaultValue != nil { + switch v := attr.DefaultValue.(type) { + case string: + if v != "" { + sumAttrs.PutStr(attr.Key, v) + } + case int: + if v != 0 { + sumAttrs.PutInt(attr.Key, int64(v)) + } + case float64: + if v != 0 { + sumAttrs.PutDouble(attr.Key, float64(v)) + } + } + } + } + + // Missing necessary attributes + if sumAttrs.Len() != len(md.attrs) { + continue + } + + // Perform condition matching or not + if md.condition == nil { + multiError = errors.Join(multiError, c.increment(name, sumVal, sumAttrs)) + continue + } + + if match, err := md.condition.Eval(ctx, tCtx); err != nil { + multiError = errors.Join(multiError, err) + } else if match { + multiError = errors.Join(multiError, c.increment(name, sumVal, sumAttrs)) + } + } + return multiError +} + +func (c *summer[K]) increment(metricName string, sumVal float64, attrs pcommon.Map) error { + if _, ok := c.sums[metricName]; !ok { + c.sums[metricName] = make(map[[16]byte]*attrSummer) + } + + key := noAttributes + if attrs.Len() > 0 { + key = pdatautil.MapHash(attrs) + } + + if _, ok := c.sums[metricName][key]; !ok { + c.sums[metricName][key] = &attrSummer{attrs: attrs} + } + + for strings := range c.sums[metricName][key].attrs.AsRaw() { + if _, ok := c.sums[metricName][key].attrs.Get(strings); ok { + c.sums[metricName][key].sum += sumVal + } + } + + if attrs.Len() == 0 { + c.sums[metricName][key].sum += sumVal + } + + return nil +} + +func (c *summer[K]) appendMetricsTo(metricSlice pmetric.MetricSlice) { + for name, md := range c.metricDefs { + if len(c.sums[name]) == 0 { + continue + } + sumMetric := metricSlice.AppendEmpty() + sumMetric.SetName(name) + sumMetric.SetDescription(md.desc) + sum := sumMetric.SetEmptySum() + // The delta value is always positive, so a value accumulated downstream is monotonic + sum.SetIsMonotonic(true) + sum.SetAggregationTemporality(pmetric.AggregationTemporalityDelta) + for _, dpSum := range c.sums[name] { + dp := sum.DataPoints().AppendEmpty() + dpSum.attrs.CopyTo(dp.Attributes()) + dp.SetDoubleValue(dpSum.sum) + dp.SetTimestamp(pcommon.NewTimestampFromTime(c.timestamp)) + } + } +} diff --git a/connector/sumconnector/testdata/logs/condition_and_attribute.yaml b/connector/sumconnector/testdata/logs/condition_and_attribute.yaml new file mode 100644 index 000000000000..ecce8be30eee --- /dev/null +++ b/connector/sumconnector/testdata/logs/condition_and_attribute.yaml @@ -0,0 +1,57 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Log sum by attribute if ... + name: log.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "2.1" + attributes: + - key: log.required + value: + stringValue: foo + timeUnixNano: "1678390948399018000" + - asDouble: "2" + attributes: + - key: log.required + value: + stringValue: notfoo + timeUnixNano: "1678390948399018000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Log sum by attribute if ... + name: log.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + attributes: + - key: log.required + value: + stringValue: foo + timeUnixNano: "1678390948399021000" + - asDouble: "2" + attributes: + - key: log.required + value: + stringValue: notfoo + timeUnixNano: "1678390948399021000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/logs/default_attribute_value.yaml b/connector/sumconnector/testdata/logs/default_attribute_value.yaml new file mode 100644 index 000000000000..e61873e8eed9 --- /dev/null +++ b/connector/sumconnector/testdata/logs/default_attribute_value.yaml @@ -0,0 +1,163 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Log sum by attribute with default + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948398365000" + - asDouble: "0" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948398365000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: notfoo + - key: log.optional + value: + stringValue: other + timeUnixNano: "1678390948398365000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Log sum by attribute with default + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948398368000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948398368000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: notfoo + - key: log.optional + value: + stringValue: other + timeUnixNano: "1678390948398368000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Log sum by attribute with default + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948398371000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948398371000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: notfoo + - key: log.optional + value: + stringValue: other + timeUnixNano: "1678390948398371000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Log sum by attribute with default + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948398373000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948398373000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: notfoo + - key: log.optional + value: + stringValue: other + timeUnixNano: "1678390948398373000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/logs/input.yaml b/connector/sumconnector/testdata/logs/input.yaml new file mode 100644 index 000000000000..05044f21650c --- /dev/null +++ b/connector/sumconnector/testdata/logs/input.yaml @@ -0,0 +1,223 @@ +resourceLogs: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeLogs: + - logRecords: + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + - key: beep + value: + stringValue: "astring" + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + scope: {} + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeLogs: + - logRecords: + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + scope: {} + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeLogs: + - logRecords: + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + scope: {} + - resource: {} + scopeLogs: + - logRecords: + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - attributes: + - key: log.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + - body: + stringValue: This is a log message + spanId: "" + timeUnixNano: "1581452773000000789" + traceId: "" + scope: {} diff --git a/connector/sumconnector/testdata/logs/multiple_attributes.yaml b/connector/sumconnector/testdata/logs/multiple_attributes.yaml new file mode 100644 index 000000000000..175bf2d7f55a --- /dev/null +++ b/connector/sumconnector/testdata/logs/multiple_attributes.yaml @@ -0,0 +1,127 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Log sum by attributes + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948397879000" + - asDouble: "0" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948397879000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Log sum by attributes + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948397882000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948397882000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Log sum by attributes + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948397884000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948397884000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Log sum by attributes + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: bar + timeUnixNano: "1678390948397886000" + - asDouble: "4" + attributes: + - key: log.required + value: + stringValue: foo + - key: log.optional + value: + stringValue: notbar + timeUnixNano: "1678390948397886000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/logs/multiple_conditions.yaml b/connector/sumconnector/testdata/logs/multiple_conditions.yaml new file mode 100644 index 000000000000..c4725a2bf72b --- /dev/null +++ b/connector/sumconnector/testdata/logs/multiple_conditions.yaml @@ -0,0 +1,63 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + timeUnixNano: "1678390948395853000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6.1" + timeUnixNano: "1678390948395856000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + timeUnixNano: "1678390948395858000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + timeUnixNano: "1678390948395859000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/logs/multiple_metrics.yaml b/connector/sumconnector/testdata/logs/multiple_metrics.yaml new file mode 100644 index 000000000000..a4f951a7a452 --- /dev/null +++ b/connector/sumconnector/testdata/logs/multiple_metrics.yaml @@ -0,0 +1,79 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: All logs Sum + name: sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + timeUnixNano: "1678390948396984000" + isMonotonic: true + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + timeUnixNano: "1678390948396984000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: All logs Sum + name: sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6.1" + timeUnixNano: "1678390948396988000" + isMonotonic: true + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6.1" + timeUnixNano: "1678390948396988000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: All logs Sum + name: sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6.1" + timeUnixNano: "1678390948396990000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: All logs Sum + name: sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6.1" + timeUnixNano: "1678390948396992000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/logs/one_attribute.yaml b/connector/sumconnector/testdata/logs/one_attribute.yaml new file mode 100644 index 000000000000..40aebf83ebda --- /dev/null +++ b/connector/sumconnector/testdata/logs/one_attribute.yaml @@ -0,0 +1,103 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Log sum by attribute + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "2.1" + attributes: + - key: log.required + value: + stringValue: foo + timeUnixNano: "1678390948397419000" + - asDouble: "2" + attributes: + - key: log.required + value: + stringValue: notfoo + timeUnixNano: "1678390948397419000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Log sum by attribute + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + attributes: + - key: log.required + value: + stringValue: foo + timeUnixNano: "1678390948397423000" + - asDouble: "2" + attributes: + - key: log.required + value: + stringValue: notfoo + timeUnixNano: "1678390948397423000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Log sum by attribute + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + attributes: + - key: log.required + value: + stringValue: foo + timeUnixNano: "1678390948397425000" + - asDouble: "2" + attributes: + - key: log.required + value: + stringValue: notfoo + timeUnixNano: "1678390948397425000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Log sum by attribute + name: log.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + attributes: + - key: log.required + value: + stringValue: foo + timeUnixNano: "1678390948397427000" + - asDouble: "2" + attributes: + - key: log.required + value: + stringValue: notfoo + timeUnixNano: "1678390948397427000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/logs/one_condition.yaml b/connector/sumconnector/testdata/logs/one_condition.yaml new file mode 100644 index 000000000000..dd26fb4d630f --- /dev/null +++ b/connector/sumconnector/testdata/logs/one_condition.yaml @@ -0,0 +1,37 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.1" + timeUnixNano: "1678390948395244000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Sum if ... + name: sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6.1" + timeUnixNano: "1678390948395279000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/metrics/condition_and_attribute.yaml b/connector/sumconnector/testdata/metrics/condition_and_attribute.yaml new file mode 100644 index 000000000000..414827d5557f --- /dev/null +++ b/connector/sumconnector/testdata/metrics/condition_and_attribute.yaml @@ -0,0 +1,57 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Data point sum by attribute if ... + name: datapoint.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "22.5" + attributes: + - key: datapoint.required + value: + stringValue: foo + timeUnixNano: "1678391923823222000" + - asDouble: "6" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + timeUnixNano: "1678391923823222000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Data point sum by attribute if ... + name: datapoint.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + timeUnixNano: "1678391923823233000" + - asDouble: "24.6" + attributes: + - key: datapoint.required + value: + stringValue: foo + timeUnixNano: "1678391923823233000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/metrics/default_attribute_value.yaml b/connector/sumconnector/testdata/metrics/default_attribute_value.yaml new file mode 100644 index 000000000000..d0ccb3f7b790 --- /dev/null +++ b/connector/sumconnector/testdata/metrics/default_attribute_value.yaml @@ -0,0 +1,163 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Data point sum by attribute with default + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923822404000" + - asDouble: "12" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: datapoint.optional + value: + stringValue: other + timeUnixNano: "1678391923822404000" + - asDouble: "21" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923822404000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Data point sum by attribute with default + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "25.2" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923822416000" + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923822416000" + - asDouble: "12" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: datapoint.optional + value: + stringValue: other + timeUnixNano: "1678391923822416000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Data point sum by attribute with default + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "25.2" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923822426000" + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923822426000" + - asDouble: "12" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: datapoint.optional + value: + stringValue: other + timeUnixNano: "1678391923822426000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Data point sum by attribute with default + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923822435000" + - asDouble: "12" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: datapoint.optional + value: + stringValue: other + timeUnixNano: "1678391923822435000" + - asDouble: "25.2" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923822435000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/metrics/input.yaml b/connector/sumconnector/testdata/metrics/input.yaml new file mode 100644 index 000000000000..8a04ab206c3f --- /dev/null +++ b/connector/sumconnector/testdata/metrics/input.yaml @@ -0,0 +1,1390 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - gauge: + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + stringValue: "astring" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-int + unit: "1" + - gauge: + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 7.89 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-double + unit: "1" + - name: counter-int + sum: + aggregationTemporality: 2 + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - name: counter-double + sum: + aggregationTemporality: 2 + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - histogram: + aggregationTemporality: 2 + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + sum: 0 + timeUnixNano: "1581452773000000789" + name: double-histogram + unit: "1" + - name: double-summary + summary: + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + unit: "1" + scope: {} + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - gauge: + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-int + unit: "1" + - gauge: + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 7.89 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-double + unit: "1" + - name: counter-int + sum: + aggregationTemporality: 2 + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - name: counter-double + sum: + aggregationTemporality: 2 + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - histogram: + aggregationTemporality: 2 + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + sum: 0 + timeUnixNano: "1581452773000000789" + name: double-histogram + unit: "1" + - name: double-summary + summary: + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + unit: "1" + scope: {} + + - resource: + attributes: + - key: resource.int + value: + intValue: 1 + - key: resource.optional_int + value: + intValue: 2 + scopeMetrics: + - metrics: + - gauge: + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 2 + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 4 + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.int + value: + intValue: 10 + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-int + unit: "1" + - gauge: + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 2 + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 4 + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 7.89 + attributes: + - key: datapoint.int + value: + intValue: 10 + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-double + unit: "1" + - name: counter-int + sum: + aggregationTemporality: 2 + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 2 + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 4 + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.int + value: + intValue: 10 + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - name: counter-double + sum: + aggregationTemporality: 2 + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 2 + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 4 + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.int + value: + intValue: 10 + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - histogram: + aggregationTemporality: 2 + dataPoints: + - attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 2 + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 4 + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.int + value: + intValue: 10 + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + sum: 0 + timeUnixNano: "1581452773000000789" + name: double-histogram + unit: "1" + - name: double-summary + summary: + dataPoints: + - attributes: + - key: datapoint.int + value: + intValue: 1 + - key: datapoint.optional_int + value: + intValue: 2 + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.int + value: + intValue: 10 + - key: datapoint.optional_int + value: + intValue: 4 + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.int + value: + intValue: 10 + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + unit: "1" + scope: {} + + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - gauge: + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-int + unit: "1" + - gauge: + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 7.89 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-double + unit: "1" + - name: counter-int + sum: + aggregationTemporality: 2 + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - name: counter-double + sum: + aggregationTemporality: 2 + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - histogram: + aggregationTemporality: 2 + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + sum: 0 + timeUnixNano: "1581452773000000789" + name: double-histogram + unit: "1" + - name: double-summary + summary: + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + unit: "1" + scope: {} + + - resource: {} + scopeMetrics: + - metrics: + - gauge: + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-int + unit: "1" + - gauge: + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 7.89 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + name: gauge-double + unit: "1" + - name: counter-int + sum: + aggregationTemporality: 2 + dataPoints: + - asInt: "123" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "456" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "789" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asInt: "0" + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - name: counter-double + sum: + aggregationTemporality: 2 + dataPoints: + - asDouble: 1.23 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 4.56 + attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + - asDouble: 0 + startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + isMonotonic: true + unit: "1" + - histogram: + aggregationTemporality: 2 + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + sum: 0 + timeUnixNano: "1581452773000000789" + name: double-histogram + unit: "1" + - name: double-summary + summary: + dataPoints: + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + count: "1" + startTimeUnixNano: "1581452772000000321" + sum: 15 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + count: "2" + startTimeUnixNano: "1581452772000000321" + sum: 30 + timeUnixNano: "1581452773000000789" + - attributes: + - key: datapoint.required + value: + stringValue: notfoo + - key: beep + value: + intValue: 1 + count: "3" + startTimeUnixNano: "1581452772000000321" + sum: 45 + timeUnixNano: "1581452773000000789" + - startTimeUnixNano: "1581452772000000321" + timeUnixNano: "1581452773000000789" + unit: "1" + scope: {} diff --git a/connector/sumconnector/testdata/metrics/multiple_attributes.yaml b/connector/sumconnector/testdata/metrics/multiple_attributes.yaml new file mode 100644 index 000000000000..5d598f2add3e --- /dev/null +++ b/connector/sumconnector/testdata/metrics/multiple_attributes.yaml @@ -0,0 +1,127 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Data point sum by attributes + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "21" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923821783000" + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923821783000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Data point sum by attributes + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "25.2" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923821792000" + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923821792000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Data point sum by attributes + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "25.2" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923821800000" + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923821800000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Data point sum by attributes + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "25.2" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: bar + timeUnixNano: "1678391923821807000" + - asDouble: "24" + attributes: + - key: datapoint.required + value: + stringValue: foo + - key: datapoint.optional + value: + stringValue: notbar + timeUnixNano: "1678391923821807000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/metrics/multiple_conditions.yaml b/connector/sumconnector/testdata/metrics/multiple_conditions.yaml new file mode 100644 index 000000000000..b95fee6578a9 --- /dev/null +++ b/connector/sumconnector/testdata/metrics/multiple_conditions.yaml @@ -0,0 +1,63 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "28.5" + timeUnixNano: "1678391923819487000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "30.6" + timeUnixNano: "1678391923819499000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24.6" + timeUnixNano: "1678391923819510000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24.6" + timeUnixNano: "1678391923819529000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/metrics/multiple_metrics.yaml b/connector/sumconnector/testdata/metrics/multiple_metrics.yaml new file mode 100644 index 000000000000..47982780fb20 --- /dev/null +++ b/connector/sumconnector/testdata/metrics/multiple_metrics.yaml @@ -0,0 +1,113 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: All data points sum + name: datapoint.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "28.5" + timeUnixNano: "1678391923820453000" + isMonotonic: true + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "28.5" + timeUnixNano: "1678391923820453000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: All data points sum + name: datapoint.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "30.6" + timeUnixNano: "1678391923820468000" + isMonotonic: true + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "30.6" + timeUnixNano: "1678391923820468000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: All data points sum + name: datapoint.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "30.6" + timeUnixNano: "1678391923820480000" + isMonotonic: true + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24.6" + timeUnixNano: "1678391923820480000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: All data points sum + name: datapoint.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "30.6" + timeUnixNano: "1678391923820491000" + isMonotonic: true + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24.6" + timeUnixNano: "1678391923820491000" + isMonotonic: true + - resource: + attributes: + - key: resource.int + value: + intValue: 1 + - key: resource.optional_int + value: + intValue: 2 + scopeMetrics: + - metrics: + - description: All data points sum + name: datapoint.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "30.6" + timeUnixNano: "1678391923820480000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/metrics/one_attribute.yaml b/connector/sumconnector/testdata/metrics/one_attribute.yaml new file mode 100644 index 000000000000..2dac193abaf2 --- /dev/null +++ b/connector/sumconnector/testdata/metrics/one_attribute.yaml @@ -0,0 +1,103 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Data point sum by attribute + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "22.5" + attributes: + - key: datapoint.required + value: + stringValue: foo + timeUnixNano: "1678391923821179000" + - asDouble: "6" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + timeUnixNano: "1678391923821179000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Data point sum by attribute + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24.6" + attributes: + - key: datapoint.required + value: + stringValue: foo + timeUnixNano: "1678391923821189000" + - asDouble: "6" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + timeUnixNano: "1678391923821189000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Data point sum by attribute + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24.6" + attributes: + - key: datapoint.required + value: + stringValue: foo + timeUnixNano: "1678391923821196000" + - asDouble: "6" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + timeUnixNano: "1678391923821196000" + isMonotonic: true + - resource: {} + scopeMetrics: + - metrics: + - description: Data point sum by attribute + name: datapoint.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "24.6" + attributes: + - key: datapoint.required + value: + stringValue: foo + timeUnixNano: "1678391923821203000" + - asDouble: "6" + attributes: + - key: datapoint.required + value: + stringValue: notfoo + timeUnixNano: "1678391923821203000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/metrics/one_condition.yaml b/connector/sumconnector/testdata/metrics/one_condition.yaml new file mode 100644 index 000000000000..c4953f43827a --- /dev/null +++ b/connector/sumconnector/testdata/metrics/one_condition.yaml @@ -0,0 +1,37 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "28.5" + timeUnixNano: "1678391923818482000" + isMonotonic: true + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Data point sum if ... + name: datapoint.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "30.6" + timeUnixNano: "1678391923818549000" + isMonotonic: true diff --git a/connector/sumconnector/testdata/traces/condition_and_attribute.yaml b/connector/sumconnector/testdata/traces/condition_and_attribute.yaml new file mode 100644 index 000000000000..1c26091ef995 --- /dev/null +++ b/connector/sumconnector/testdata/traces/condition_and_attribute.yaml @@ -0,0 +1,95 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + attributes: + - key: span.required + value: + stringValue: foo + timeUnixNano: "1678392127929005000" + - asDouble: "3.1" + attributes: + - key: span.required + value: + stringValue: notfoo + timeUnixNano: "1678392127929005000" + isMonotonic: true + - description: Span event sum by attribute if ... + name: spanevent.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15.6" + attributes: + - key: event.required + value: + stringValue: foo + timeUnixNano: "1678392127929006000" + - asDouble: "8.3" + attributes: + - key: event.required + value: + stringValue: notfoo + timeUnixNano: "1678392127929006000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + attributes: + - key: span.required + value: + stringValue: foo + timeUnixNano: "1678392127929018000" + - asDouble: "3.1" + attributes: + - key: span.required + value: + stringValue: notfoo + timeUnixNano: "1678392127929018000" + isMonotonic: true + - description: Span event sum by attribute if ... + name: spanevent.sum.if.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15.2" + attributes: + - key: event.required + value: + stringValue: foo + timeUnixNano: "1678392127929018000" + - asDouble: "8.1" + attributes: + - key: event.required + value: + stringValue: notfoo + timeUnixNano: "1678392127929018000" + isMonotonic: true + diff --git a/connector/sumconnector/testdata/traces/input.yaml b/connector/sumconnector/testdata/traces/input.yaml new file mode 100644 index 000000000000..b6d74c2a11ac --- /dev/null +++ b/connector/sumconnector/testdata/traces/input.yaml @@ -0,0 +1,852 @@ +resourceSpans: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeSpans: + - scope: {} + spans: + - name: span-with-attrs-foo-bar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2.1 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2.1 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attrs-foo-notbar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + - key: beep + value: + intValue: 3 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + intValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + stringValue: "3" + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + stringValue: "2" + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attr-notfoo + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 3.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2.1 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2.1 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-no-attrs + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 1.1 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 1.1 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2.1 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeSpans: + - scope: {} + spans: + - name: span-with-attrs-foo-bar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2.1 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2.1 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attrs-foo-notbar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + - key: beep + value: + intValue: 3 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + intValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + stringValue: "3" + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attr-notfoo + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 3.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-no-attrs + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 1 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 1 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeSpans: + - scope: {} + spans: + - name: span-with-attrs-foo-bar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attrs-foo-notbar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + - key: beep + value: + intValue: 3 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + intValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + stringValue: "3" + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attr-notfoo + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 3.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-no-attrs + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 1 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 1 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - resource: {} + scopeSpans: + - scope: {} + spans: + - name: span-with-attrs-foo-bar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attrs-foo-notbar + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + - key: beep + value: + intValue: 3 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + intValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + stringValue: "3" + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-attr-notfoo + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + - key: span.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 3.1 + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 2 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + - name: span-with-no-attrs + parentSpanId: "" + spanId: "" + startTimeUnixNano: "1581452772000000321" + status: {} + traceId: "" + attributes: + endTimeUnixNano: "1581452773000000789" + events: + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + - key: beep + value: + doubleValue: 1 + name: event-with-attrs-foo-bar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + - key: beep + value: + doubleValue: 1 + name: event-with-attrs-foo-notbar + timeUnixNano: "1581452773000000123" + - attributes: + - key: event.required + value: + stringValue: notfoo + - key: beep + value: + doubleValue: 2 + name: event-with-attr-notfoo + timeUnixNano: "1581452773000000123" + - name: event-with-no-attrs + timeUnixNano: "1581452773000000123" + + diff --git a/connector/sumconnector/testdata/traces/multiple_attributes.yaml b/connector/sumconnector/testdata/traces/multiple_attributes.yaml new file mode 100644 index 000000000000..7407a91f2eb5 --- /dev/null +++ b/connector/sumconnector/testdata/traces/multiple_attributes.yaml @@ -0,0 +1,227 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Span sum by attributes + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "6" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926637000" + - asDouble: "4.2" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + timeUnixNano: "1678392127926637000" + isMonotonic: true + - description: Span event sum by attributes + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "14.6" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + timeUnixNano: "1678392127926637000" + - asDouble: "16.6" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926637000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Span sum by attributes + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + timeUnixNano: "1678392127926647000" + - asDouble: "6" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926647000" + isMonotonic: true + - description: Span event sum by attributes + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "14.2" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + timeUnixNano: "1678392127926647000" + - asDouble: "16.2" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926647000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Span sum by attributes + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + timeUnixNano: "1678392127926654000" + - asDouble: "6" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926654000" + isMonotonic: true + - description: Span event sum by attributes + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "14" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + timeUnixNano: "1678392127926654000" + - asDouble: "16" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926654000" + isMonotonic: true + + - resource: {} + scopeMetrics: + - metrics: + - description: Span sum by attributes + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "4.2" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: bar + timeUnixNano: "1678392127926661000" + - asDouble: "6" + attributes: + - key: span.required + value: + stringValue: foo + - key: span.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926661000" + isMonotonic: true + - description: Span event sum by attributes + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "14" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: bar + timeUnixNano: "1678392127926661000" + - asDouble: "16" + attributes: + - key: event.required + value: + stringValue: foo + - key: event.optional + value: + stringValue: notbar + timeUnixNano: "1678392127926661000" + isMonotonic: true + diff --git a/connector/sumconnector/testdata/traces/multiple_conditions.yaml b/connector/sumconnector/testdata/traces/multiple_conditions.yaml new file mode 100644 index 000000000000..eea3335df200 --- /dev/null +++ b/connector/sumconnector/testdata/traces/multiple_conditions.yaml @@ -0,0 +1,99 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127923826000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.9" + timeUnixNano: "1678392127923826000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127923836000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.3" + timeUnixNano: "1678392127923836000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + timeUnixNano: "1678392127923843000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15" + timeUnixNano: "1678392127923843000" + isMonotonic: true + + - resource: {} + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + timeUnixNano: "1678392127923849000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15" + timeUnixNano: "1678392127923849000" + isMonotonic: true + diff --git a/connector/sumconnector/testdata/traces/multiple_metrics.yaml b/connector/sumconnector/testdata/traces/multiple_metrics.yaml new file mode 100644 index 000000000000..c19731ff7fac --- /dev/null +++ b/connector/sumconnector/testdata/traces/multiple_metrics.yaml @@ -0,0 +1,163 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: All spans sum + name: span.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127924753000" + isMonotonic: true + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127924753000" + isMonotonic: true + - description: All span events sum + name: spanevent.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.9" + timeUnixNano: "1678392127924753000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.9" + timeUnixNano: "1678392127924753000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: All spans sum + name: span.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127924764000" + isMonotonic: true + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127924764000" + isMonotonic: true + - description: All span events sum + name: spanevent.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.3" + timeUnixNano: "1678392127924764000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.3" + timeUnixNano: "1678392127924764000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: All spans sum + name: span.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127924772000" + isMonotonic: true + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + timeUnixNano: "1678392127924772000" + isMonotonic: true + - description: All span events sum + name: spanevent.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23" + timeUnixNano: "1678392127924772000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15" + timeUnixNano: "1678392127924772000" + isMonotonic: true + + - resource: {} + scopeMetrics: + - metrics: + - description: All spans sum + name: span.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127924780000" + isMonotonic: true + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + timeUnixNano: "1678392127924780000" + isMonotonic: true + - description: All span events sum + name: spanevent.sum.all + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23" + timeUnixNano: "1678392127924780000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15" + timeUnixNano: "1678392127924780000" + isMonotonic: true + diff --git a/connector/sumconnector/testdata/traces/one_attribute.yaml b/connector/sumconnector/testdata/traces/one_attribute.yaml new file mode 100644 index 000000000000..466f1558822e --- /dev/null +++ b/connector/sumconnector/testdata/traces/one_attribute.yaml @@ -0,0 +1,182 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Span sum by attribute + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + attributes: + - key: span.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "3.1" + attributes: + - key: span.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + - description: Span event sum by attribute + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15.6" + attributes: + - key: event.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "8.3" + attributes: + - key: event.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Span sum by attribute + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + attributes: + - key: span.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "3.1" + attributes: + - key: span.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + - description: Span event sum by attribute + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15.2" + attributes: + - key: event.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "8.1" + attributes: + - key: event.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + + + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: Span sum by attribute + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + attributes: + - key: span.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "3.1" + attributes: + - key: span.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + - description: Span event sum by attribute + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15" + attributes: + - key: event.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "8" + attributes: + - key: event.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + + + - resource: {} + scopeMetrics: + - metrics: + - description: Span sum by attribute + name: span.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "5.1" + attributes: + - key: span.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "3.1" + attributes: + - key: span.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + - description: Span event sum by attribute + name: spanevent.sum.by_attr + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "15" + attributes: + - key: event.required + value: + stringValue: foo + timeUnixNano: "1678392127925459000" + - asDouble: "8" + attributes: + - key: event.required + value: + stringValue: notfoo + timeUnixNano: "1678392127925459000" + isMonotonic: true + diff --git a/connector/sumconnector/testdata/traces/one_condition.yaml b/connector/sumconnector/testdata/traces/one_condition.yaml new file mode 100644 index 000000000000..9c95a0555a85 --- /dev/null +++ b/connector/sumconnector/testdata/traces/one_condition.yaml @@ -0,0 +1,55 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127922309000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.900000" + timeUnixNano: "1678392127922310000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: Span sum if ... + name: span.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127922363000" + isMonotonic: true + - description: Span event sum if ... + name: spanevent.sum.if + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.3" + timeUnixNano: "1678392127922364000" + isMonotonic: true + diff --git a/connector/sumconnector/testdata/traces/zero_conditions.yaml b/connector/sumconnector/testdata/traces/zero_conditions.yaml new file mode 100644 index 000000000000..1c287e188dff --- /dev/null +++ b/connector/sumconnector/testdata/traces/zero_conditions.yaml @@ -0,0 +1,99 @@ +resourceMetrics: + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: bar + scopeMetrics: + - metrics: + - description: The sum of beep values observed in spans. + name: trace.span.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127920605000" + isMonotonic: true + - description: The sum of beep values observed in span events. + name: trace.span.event.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.9" + timeUnixNano: "1678392127920605000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: foo + - key: resource.optional + value: + stringValue: notbar + scopeMetrics: + - metrics: + - description: The sum of beep values observed in spans. + name: trace.span.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127920632000" + isMonotonic: true + - description: The sum of beep values observed in span events. + name: trace.span.event.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23.3" + timeUnixNano: "1678392127920632000" + isMonotonic: true + + - resource: + attributes: + - key: resource.required + value: + stringValue: notfoo + scopeMetrics: + - metrics: + - description: The sum of beep values observed in spans. + name: trace.span.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127920635000" + isMonotonic: true + - description: The sum of beep values observed in span events. + name: trace.span.event.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23" + timeUnixNano: "1678392127920635000" + isMonotonic: true + + - resource: {} + scopeMetrics: + - metrics: + - description: The sum of beep values observed in spans. + name: trace.span.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "8.2" + timeUnixNano: "1678392127920638000" + isMonotonic: true + - description: The sum of beep values observed in span events. + name: trace.span.event.sum + sum: + aggregationTemporality: 1 + dataPoints: + - asDouble: "23" + timeUnixNano: "1678392127920638000" + isMonotonic: true + diff --git a/distributions.yaml b/distributions.yaml index 1ec93c7d9e36..2a6e9670c7ce 100644 --- a/distributions.yaml +++ b/distributions.yaml @@ -5,4 +5,6 @@ - name: core url: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol - name: contrib - url: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib \ No newline at end of file + url: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib + - name: k8s + url: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s \ No newline at end of file diff --git a/examples/couchbase/docker-compose.yaml b/examples/couchbase/docker-compose.yaml index e08632fdebe3..daec58c8de22 100644 --- a/examples/couchbase/docker-compose.yaml +++ b/examples/couchbase/docker-compose.yaml @@ -10,14 +10,14 @@ services: cpus: "0.50" memory: 1512M opentelemetry-collector-contrib: - image: otel/opentelemetry-collector-contrib:0.108.0 + image: otel/opentelemetry-collector-contrib:0.112.0 command: ["--config=/etc/otel-collector-config.yml"] volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yml depends_on: - couchbase prometheus: - image: prom/prometheus:v2.54.1 + image: prom/prometheus:v2.55.0 volumes: - ./prometheus-config.yaml:/etc/prometheus/prometheus.yml ports: diff --git a/examples/demo/client/go.mod b/examples/demo/client/go.mod index 1c1cb3776aab..41ae006acb7b 100644 --- a/examples/demo/client/go.mod +++ b/examples/demo/client/go.mod @@ -3,14 +3,14 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/c go 1.22.0 require ( - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 ) require ( @@ -20,15 +20,15 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.65.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) retract ( diff --git a/examples/demo/client/go.sum b/examples/demo/client/go.sum index a831fedb6067..d57cbb4ebe76 100644 --- a/examples/demo/client/go.sum +++ b/examples/demo/client/go.sum @@ -19,41 +19,41 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/examples/demo/server/go.mod b/examples/demo/server/go.mod index 810bd725d989..33dc71216e68 100644 --- a/examples/demo/server/go.mod +++ b/examples/demo/server/go.mod @@ -3,15 +3,15 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/s go 1.22.0 require ( - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 ) require ( @@ -22,13 +22,13 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.65.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) retract ( diff --git a/examples/demo/server/go.sum b/examples/demo/server/go.sum index a831fedb6067..d57cbb4ebe76 100644 --- a/examples/demo/server/go.sum +++ b/examples/demo/server/go.sum @@ -19,41 +19,41 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/examples/secure-tracing/docker-compose.yaml b/examples/secure-tracing/docker-compose.yaml index 02f3d8321054..f5142d4ecfe4 100644 --- a/examples/secure-tracing/docker-compose.yaml +++ b/examples/secure-tracing/docker-compose.yaml @@ -12,7 +12,7 @@ services: - ./certs/ca.crt:/etc/ca.crt - ./envoy-config.yaml:/etc/envoy-config.yaml otel-collector: - image: otel/opentelemetry-collector:0.108.0 + image: otel/opentelemetry-collector:0.112.0 command: ["--config=/etc/otel-collector-config.yaml"] volumes: - ./certs/otel-collector.crt:/etc/otel-collector.crt diff --git a/exporter/alertmanagerexporter/alertmanager_exporter.go b/exporter/alertmanagerexporter/alertmanager_exporter.go index 565a850f1fb2..56f334988b06 100644 --- a/exporter/alertmanagerexporter/alertmanager_exporter.go +++ b/exporter/alertmanagerexporter/alertmanager_exporter.go @@ -216,7 +216,7 @@ func newTracesExporter(ctx context.Context, cfg component.Config, set exporter.S s := newAlertManagerExporter(config, set.TelemetrySettings) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, diff --git a/exporter/alertmanagerexporter/alertmanager_exporter_test.go b/exporter/alertmanagerexporter/alertmanager_exporter_test.go index 0dec06561975..dfe1e18baecf 100644 --- a/exporter/alertmanagerexporter/alertmanager_exporter_test.go +++ b/exporter/alertmanagerexporter/alertmanager_exporter_test.go @@ -22,7 +22,7 @@ import ( "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) @@ -41,7 +41,7 @@ func createTracesAndSpan() (ptrace.Traces, ptrace.Span) { attrs.PutInt("attr2", 40) attrs.PutDouble("attr3", 3.14) - // add a span + // add a span spans := rs.ScopeSpans().AppendEmpty().Spans() spans.EnsureCapacity(1) span := spans.AppendEmpty() diff --git a/exporter/alertmanagerexporter/config.go b/exporter/alertmanagerexporter/config.go index 3948dc360137..e7733ce733fb 100644 --- a/exporter/alertmanagerexporter/config.go +++ b/exporter/alertmanagerexporter/config.go @@ -14,9 +14,9 @@ import ( // Config defines configuration for alertmanager exporter. type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - BackoffConfig configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + BackoffConfig configretry.BackOffConfig `mapstructure:"retry_on_failure"` confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. GeneratorURL string `mapstructure:"generator_url"` diff --git a/exporter/alertmanagerexporter/config_test.go b/exporter/alertmanagerexporter/config_test.go index d11d0d3a5e06..e884e0c17755 100644 --- a/exporter/alertmanagerexporter/config_test.go +++ b/exporter/alertmanagerexporter/config_test.go @@ -4,6 +4,7 @@ package alertmanagerexporter import ( + "net/http" "path/filepath" "testing" "time" @@ -23,6 +24,7 @@ import ( ) func TestLoadConfig(t *testing.T) { + defaultTransport := http.DefaultTransport.(*http.Transport) t.Parallel() cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) @@ -46,7 +48,7 @@ func TestLoadConfig(t *testing.T) { GeneratorURL: "opentelemetry-collector", DefaultSeverity: "info", SeverityAttribute: "foo", - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, BackoffConfig: configretry.BackOffConfig{ @@ -57,7 +59,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -74,9 +76,13 @@ func TestLoadConfig(t *testing.T) { CAFile: "/var/lib/mycert.pem", }, }, - ReadBufferSize: 0, - WriteBufferSize: 524288, - Timeout: time.Second * 10, + ReadBufferSize: 0, + WriteBufferSize: 524288, + Timeout: time.Second * 10, + MaxIdleConns: &defaultTransport.MaxIdleConns, + MaxIdleConnsPerHost: &defaultTransport.MaxIdleConnsPerHost, + MaxConnsPerHost: &defaultTransport.MaxConnsPerHost, + IdleConnTimeout: &defaultTransport.IdleConnTimeout, }, }, }, diff --git a/exporter/alertmanagerexporter/factory.go b/exporter/alertmanagerexporter/factory.go index 78b472809ce2..4a0675e477b2 100644 --- a/exporter/alertmanagerexporter/factory.go +++ b/exporter/alertmanagerexporter/factory.go @@ -10,7 +10,6 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -27,18 +26,18 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = "http://localhost:9093" + clientConfig.Timeout = 30 * time.Second + clientConfig.WriteBufferSize = 512 * 1024 + return &Config{ GeneratorURL: "opentelemetry-collector", DefaultSeverity: "info", - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackoffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - ClientConfig: confighttp.ClientConfig{ - Endpoint: "http://localhost:9093", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - WriteBufferSize: 512 * 1024, - }, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + ClientConfig: clientConfig, } } diff --git a/exporter/alertmanagerexporter/factory_test.go b/exporter/alertmanagerexporter/factory_test.go index 0f05d35c2d1f..d2ae4eedacd4 100644 --- a/exporter/alertmanagerexporter/factory_test.go +++ b/exporter/alertmanagerexporter/factory_test.go @@ -19,11 +19,11 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() - te, err := factory.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + te, err := factory.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, te) } diff --git a/exporter/alertmanagerexporter/generated_component_test.go b/exporter/alertmanagerexporter/generated_component_test.go index 7215963db735..02546f60ac93 100644 --- a/exporter/alertmanagerexporter/generated_component_test.go +++ b/exporter/alertmanagerexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/alertmanagerexporter/go.mod b/exporter/alertmanagerexporter/go.mod index 2d655a903593..99d991f295fd 100644 --- a/exporter/alertmanagerexporter/go.mod +++ b/exporter/alertmanagerexporter/go.mod @@ -4,38 +4,37 @@ go 1.22.0 require ( github.com/cenkalti/backoff/v4 v4.3.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/prometheus/common v0.57.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/prometheus/common v0.60.1 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -43,42 +42,40 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/alertmanagerexporter/go.sum b/exporter/alertmanagerexporter/go.sum index e4a1eaeb3525..9c84368d9049 100644 --- a/exporter/alertmanagerexporter/go.sum +++ b/exporter/alertmanagerexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -16,8 +12,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -33,8 +29,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -45,8 +41,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -56,20 +50,16 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -78,74 +68,76 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -161,20 +153,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -185,10 +177,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/alibabacloudlogserviceexporter/generated_component_test.go b/exporter/alibabacloudlogserviceexporter/generated_component_test.go index 52a855b2efe5..bebf1ec666a8 100644 --- a/exporter/alibabacloudlogserviceexporter/generated_component_test.go +++ b/exporter/alibabacloudlogserviceexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/alibabacloudlogserviceexporter/go.mod b/exporter/alibabacloudlogserviceexporter/go.mod index 570ccef6efc4..b38c4e5a3d82 100644 --- a/exporter/alibabacloudlogserviceexporter/go.mod +++ b/exporter/alibabacloudlogserviceexporter/go.mod @@ -3,32 +3,31 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibab go 1.22.0 require ( - github.com/aliyun/aliyun-log-go-sdk v0.1.82 + github.com/aliyun/aliyun-log-go-sdk v0.1.83 github.com/gogo/protobuf v1.3.2 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pdata/testdata v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -40,40 +39,36 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pierrec/lz4 v2.6.0+incompatible // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/alibabacloudlogserviceexporter/go.sum b/exporter/alibabacloudlogserviceexporter/go.sum index 55799e7981d6..1da635659a3c 100644 --- a/exporter/alibabacloudlogserviceexporter/go.sum +++ b/exporter/alibabacloudlogserviceexporter/go.sum @@ -20,18 +20,14 @@ github.com/alibabacloud-go/tea-utils/v2 v2.0.1 h1:K6kwgo+UiYx+/kr6CO0PN5ACZDzE3n github.com/alibabacloud-go/tea-utils/v2 v2.0.1/go.mod h1:U5MTY10WwlquGPS34DOeomUGBB0gXbLueiq5Trwu0C4= github.com/alibabacloud-go/tea-xml v1.1.2 h1:oLxa7JUXm2EDFzMg+7oRsYc+kutgCVwm+bZlhhmvW5M= github.com/alibabacloud-go/tea-xml v1.1.2/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8= -github.com/aliyun/aliyun-log-go-sdk v0.1.82 h1:xBfCcAcgoKgZM+JZC70o0iIrNZwFRrcMCcHdGv3s3Ak= -github.com/aliyun/aliyun-log-go-sdk v0.1.82/go.mod h1:aCY/2vkzJxMpoAVuyuMMTYFHur5otoWXSo9ofKJ67Ek= +github.com/aliyun/aliyun-log-go-sdk v0.1.83 h1:xdFXXsvhO5BedlO9EUSf/HJDHSCp6kQrwL4EKDnT/Zg= +github.com/aliyun/aliyun-log-go-sdk v0.1.83/go.mod h1:qNjBnTjQl8UeHhGmoZ7iredr2xyVBD1Ueu3JgOALR5U= github.com/aliyun/credentials-go v1.1.2 h1:qU1vwGIBb3UJ8BwunHDRFtAhS6jnQLnde/yk0+Ih2GY= github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I= github.com/clbanning/mxj/v2 v2.5.5 h1:oT81vUeEiQQ/DcHbzSytRngP6Ky9O+L+0Bw0zSJag9E= github.com/clbanning/mxj/v2 v2.5.5/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= @@ -51,8 +47,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= @@ -78,8 +74,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -89,24 +83,14 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A= github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -115,56 +99,58 @@ github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM= github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -190,12 +176,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -206,10 +192,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/alibabacloudlogserviceexporter/logs_exporter.go b/exporter/alibabacloudlogserviceexporter/logs_exporter.go index 4fedc9f9b872..6e020d1f3112 100644 --- a/exporter/alibabacloudlogserviceexporter/logs_exporter.go +++ b/exporter/alibabacloudlogserviceexporter/logs_exporter.go @@ -25,7 +25,7 @@ func newLogsExporter(set exporter.Settings, cfg component.Config) (exporter.Logs return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( context.TODO(), set, cfg, diff --git a/exporter/alibabacloudlogserviceexporter/metrics_exporter.go b/exporter/alibabacloudlogserviceexporter/metrics_exporter.go index 3ff202751be0..410975bd8597 100644 --- a/exporter/alibabacloudlogserviceexporter/metrics_exporter.go +++ b/exporter/alibabacloudlogserviceexporter/metrics_exporter.go @@ -25,7 +25,7 @@ func newMetricsExporter(set exporter.Settings, cfg component.Config) (exporter.M return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( context.TODO(), set, cfg, diff --git a/exporter/alibabacloudlogserviceexporter/trace_exporter.go b/exporter/alibabacloudlogserviceexporter/trace_exporter.go index 55180ca5518e..04288353edd4 100644 --- a/exporter/alibabacloudlogserviceexporter/trace_exporter.go +++ b/exporter/alibabacloudlogserviceexporter/trace_exporter.go @@ -25,7 +25,7 @@ func newTracesExporter(set exporter.Settings, cfg component.Config) (exporter.Tr return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( context.TODO(), set, cfg, diff --git a/exporter/awscloudwatchlogsexporter/config.go b/exporter/awscloudwatchlogsexporter/config.go index 9432d20758de..1e7e6a6138a8 100644 --- a/exporter/awscloudwatchlogsexporter/config.go +++ b/exporter/awscloudwatchlogsexporter/config.go @@ -43,7 +43,7 @@ type Config struct { Tags map[string]*string `mapstructure:"tags"` // Queue settings frm the exporterhelper - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` logger *zap.Logger diff --git a/exporter/awscloudwatchlogsexporter/config_test.go b/exporter/awscloudwatchlogsexporter/config_test.go index a806d60eddac..b80721cd1faa 100644 --- a/exporter/awscloudwatchlogsexporter/config_test.go +++ b/exporter/awscloudwatchlogsexporter/config_test.go @@ -43,10 +43,10 @@ func TestLoadConfig(t *testing.T) { LogStreamName: "testing", Endpoint: "", AWSSessionSettings: awsutil.CreateDefaultSessionConfig(), - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 1, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, }, }, @@ -64,7 +64,7 @@ func TestLoadConfig(t *testing.T) { AWSSessionSettings: awsutil.CreateDefaultSessionConfig(), LogGroupName: "test-2", LogStreamName: "testing", - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 1, QueueSize: 2, @@ -118,10 +118,10 @@ func TestRetentionValidateCorrect(t *testing.T) { Endpoint: "", LogRetention: 365, AWSSessionSettings: awsutil.CreateDefaultSessionConfig(), - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 1, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, } assert.NoError(t, component.ValidateConfig(cfg)) @@ -137,9 +137,9 @@ func TestRetentionValidateWrong(t *testing.T) { Endpoint: "", LogRetention: 366, AWSSessionSettings: awsutil.CreateDefaultSessionConfig(), - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, } assert.Error(t, component.ValidateConfig(wrongcfg)) @@ -221,10 +221,10 @@ func TestValidateTags(t *testing.T) { Endpoint: "", Tags: tt.tags, AWSSessionSettings: awsutil.CreateDefaultSessionConfig(), - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 1, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, } if tt.errorMessage != "" { diff --git a/exporter/awscloudwatchlogsexporter/exporter.go b/exporter/awscloudwatchlogsexporter/exporter.go index fd8641fac447..03056439b75f 100644 --- a/exporter/awscloudwatchlogsexporter/exporter.go +++ b/exporter/awscloudwatchlogsexporter/exporter.go @@ -88,7 +88,7 @@ func newCwLogsExporter(config component.Config, params exp.Settings) (exp.Logs, if err != nil { return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( context.TODO(), params, config, diff --git a/exporter/awscloudwatchlogsexporter/factory.go b/exporter/awscloudwatchlogsexporter/factory.go index 60c03c5fe526..128a3a539787 100644 --- a/exporter/awscloudwatchlogsexporter/factory.go +++ b/exporter/awscloudwatchlogsexporter/factory.go @@ -28,7 +28,7 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { - queueSettings := exporterhelper.NewDefaultQueueSettings() + queueSettings := exporterhelper.NewDefaultQueueConfig() // For backwards compatibilitiy, we default to 1 consumer queueSettings.NumConsumers = 1 diff --git a/exporter/awscloudwatchlogsexporter/factory_test.go b/exporter/awscloudwatchlogsexporter/factory_test.go index df45d3957395..bc13854a6ab4 100644 --- a/exporter/awscloudwatchlogsexporter/factory_test.go +++ b/exporter/awscloudwatchlogsexporter/factory_test.go @@ -17,10 +17,10 @@ func TestDefaultConfig_exporterSettings(t *testing.T) { want := &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), AWSSessionSettings: awsutil.CreateDefaultSessionConfig(), - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 1, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, } assert.Equal(t, want, createDefaultConfig()) diff --git a/exporter/awscloudwatchlogsexporter/generated_component_test.go b/exporter/awscloudwatchlogsexporter/generated_component_test.go index d9eb0c6fc1dc..ab9b996eea55 100644 --- a/exporter/awscloudwatchlogsexporter/generated_component_test.go +++ b/exporter/awscloudwatchlogsexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/awscloudwatchlogsexporter/generated_package_test.go b/exporter/awscloudwatchlogsexporter/generated_package_test.go index e2e429261a4c..aee3765c32cb 100644 --- a/exporter/awscloudwatchlogsexporter/generated_package_test.go +++ b/exporter/awscloudwatchlogsexporter/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start")) + goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start"), goleak.IgnoreTopFunction("net/http.(*persistConn).writeLoop"), goleak.IgnoreTopFunction("internal/poll.runtime_pollWait")) } diff --git a/exporter/awscloudwatchlogsexporter/go.mod b/exporter/awscloudwatchlogsexporter/go.mod index 886890fdcfd0..e5abbcab2107 100644 --- a/exporter/awscloudwatchlogsexporter/go.mod +++ b/exporter/awscloudwatchlogsexporter/go.mod @@ -6,31 +6,29 @@ require ( github.com/aws/aws-sdk-go v1.55.5 github.com/cenkalti/backoff/v4 v4.3.0 github.com/google/uuid v1.6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -38,35 +36,31 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/awscloudwatchlogsexporter/go.sum b/exporter/awscloudwatchlogsexporter/go.sum index bfedbe3d8f0e..88a4135883a6 100644 --- a/exporter/awscloudwatchlogsexporter/go.sum +++ b/exporter/awscloudwatchlogsexporter/go.sum @@ -1,11 +1,7 @@ github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -14,8 +10,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -31,8 +27,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -43,8 +37,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -54,20 +46,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -76,52 +58,54 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -137,20 +121,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -161,10 +145,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/awscloudwatchlogsexporter/metadata.yaml b/exporter/awscloudwatchlogsexporter/metadata.yaml index d593d0074546..8f5bc90e5d7f 100644 --- a/exporter/awscloudwatchlogsexporter/metadata.yaml +++ b/exporter/awscloudwatchlogsexporter/metadata.yaml @@ -22,3 +22,5 @@ tests: top: # See https://github.com/census-instrumentation/opencensus-go/issues/1191 for more information. - "go.opencensus.io/stats/view.(*worker).start" + - "net/http.(*persistConn).writeLoop" + - "internal/poll.runtime_pollWait" diff --git a/exporter/awsemfexporter/README.md b/exporter/awsemfexporter/README.md index 9dc35146e314..c6ef12e20190 100644 --- a/exporter/awsemfexporter/README.md +++ b/exporter/awsemfexporter/README.md @@ -43,7 +43,7 @@ The following exporter configuration parameters are supported. | `resource_to_telemetry_conversion` | "resource_to_telemetry_conversion" is the option for converting resource attributes to telemetry attributes. It has only one config onption- `enabled`. For metrics, if `enabled=true`, all the resource attributes will be converted to metric labels by default. See `Resource Attributes to Metric Labels` section below for examples. | `enabled=false` | | `output_destination` | "output_destination" is an option to specify the EMFExporter output. Currently, two options are available. "cloudwatch" or "stdout" | `cloudwatch` | | `detailed_metrics` | Retain detailed datapoint values in exported metrics (e.g instead of exporting a quantile as a statistical value, preserve the quantile's population) | `false` | -| `parse_json_encoded_attr_values` | List of attribute keys whose corresponding values are JSON-encoded strings and will be converted to JSON structures in emf logs. For example, the attribute string value "{\\"x\\":5,\\"y\\":6}" will be converted to a json object: ```{"x": 5, "y": 6}``` | [ ] | +| `parse_json_encoded_attr_values` | List of attribute keys whose corresponding values are JSON-encoded strings and will be converted to JSON structures in emf logs. For example, the attribute string value "{\\"x\\":5,\\"y\\":6}" will be converted to a json object: ```{"x": 5, "y": 6}``` | [ ] | | [`metric_declarations`](#metric_declaration) | List of rules for filtering exported metrics and their dimensions. | [ ] | | [`metric_descriptors`](#metric_descriptor) | List of rules for inserting or updating metric descriptors. | [ ] | | `retain_initial_value_of_delta_metric` | This option specifies how the first value of a metric is handled. AWS EMF expects metric values to only contain deltas to the previous value. In the default case the first received value is therefor not sent to AWS but only used as a baseline for follow up changes to this metric. This is fine for high throughput metrics with stable labels (e.g. `requests{code=200}`). In this case it does not matter if the first value of this metric is discarded. However when your metric describes infrequent events or events with high label cardinality, then the exporter in default configuration would still drop the first occurrence of this metric. With this configuration value set to `true` the first value of all metrics will instead be send to AWS. | false | diff --git a/exporter/awsemfexporter/factory.go b/exporter/awsemfexporter/factory.go index 47fd367bf467..5f159b4b9f57 100644 --- a/exporter/awsemfexporter/factory.go +++ b/exporter/awsemfexporter/factory.go @@ -60,7 +60,7 @@ func createMetricsExporter(ctx context.Context, params exporter.Settings, config return nil, err } - exporter, err := exporterhelper.NewMetricsExporter( + exporter, err := exporterhelper.NewMetrics( ctx, params, config, diff --git a/exporter/awsemfexporter/factory_test.go b/exporter/awsemfexporter/factory_test.go index adcb90cf22a5..891ac4266bcc 100644 --- a/exporter/awsemfexporter/factory_test.go +++ b/exporter/awsemfexporter/factory_test.go @@ -26,7 +26,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NotNil(t, cfg.(*Config).logger) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -37,12 +37,12 @@ func TestCreateTracesExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) ctx := context.Background() - exporter, err := factory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), cfg) + exporter, err := factory.CreateTraces(ctx, exportertest.NewNopSettings(), cfg) assert.Error(t, err) assert.Nil(t, exporter) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -53,7 +53,7 @@ func TestCreateMetricsExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) ctx := context.Background() - exporter, err := factory.CreateMetricsExporter(ctx, exportertest.NewNopSettings(), cfg) + exporter, err := factory.CreateMetrics(ctx, exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, exporter) } diff --git a/exporter/awsemfexporter/generated_component_test.go b/exporter/awsemfexporter/generated_component_test.go index 58d9682a9ffe..de32738b4316 100644 --- a/exporter/awsemfexporter/generated_component_test.go +++ b/exporter/awsemfexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/awsemfexporter/go.mod b/exporter/awsemfexporter/go.mod index 6dc7b4c9fa28..f2ed7018ff4b 100644 --- a/exporter/awsemfexporter/go.mod +++ b/exporter/awsemfexporter/go.mod @@ -5,37 +5,35 @@ go 1.22.0 require ( github.com/aws/aws-sdk-go v1.55.5 github.com/google/uuid v1.6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/metrics v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/metrics v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -43,36 +41,32 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/awsemfexporter/go.sum b/exporter/awsemfexporter/go.sum index 03f9ae3df0c0..10ec45cda115 100644 --- a/exporter/awsemfexporter/go.sum +++ b/exporter/awsemfexporter/go.sum @@ -1,11 +1,7 @@ github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -14,8 +10,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -33,8 +29,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -45,8 +39,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -56,20 +48,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -78,56 +60,58 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -145,20 +129,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -169,10 +153,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/awsemfexporter/grouped_metric_test.go b/exporter/awsemfexporter/grouped_metric_test.go index e7c176f82b01..d2b1a86610f0 100644 --- a/exporter/awsemfexporter/grouped_metric_test.go +++ b/exporter/awsemfexporter/grouped_metric_test.go @@ -435,7 +435,7 @@ func TestAddKubernetesWrapper(t *testing.T) { jsonBytes, _ := json.Marshal(expectedCreatedObj) addKubernetesWrapper(inputs) - assert.Equal(t, string(jsonBytes), inputs["kubernetes"], "The created and expected objects should be the same") + assert.JSONEq(t, string(jsonBytes), inputs["kubernetes"], "The created and expected objects should be the same") }) } diff --git a/exporter/awsemfexporter/metric_translator_test.go b/exporter/awsemfexporter/metric_translator_test.go index 8ab15c132019..641f7f633044 100644 --- a/exporter/awsemfexporter/metric_translator_test.go +++ b/exporter/awsemfexporter/metric_translator_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest/observer" diff --git a/exporter/awsemfexporter/util.go b/exporter/awsemfexporter/util.go index 30e5e755f9b8..0c92c9be9545 100644 --- a/exporter/awsemfexporter/util.go +++ b/exporter/awsemfexporter/util.go @@ -11,7 +11,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" ) diff --git a/exporter/awsemfexporter/util_test.go b/exporter/awsemfexporter/util_test.go index 8c3dc9d62aee..91b2fee7e100 100644 --- a/exporter/awsemfexporter/util_test.go +++ b/exporter/awsemfexporter/util_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/occonventions" diff --git a/exporter/awskinesisexporter/config.go b/exporter/awskinesisexporter/config.go index b4aded26792a..6fa643d29a93 100644 --- a/exporter/awskinesisexporter/config.go +++ b/exporter/awskinesisexporter/config.go @@ -26,9 +26,9 @@ type Encoding struct { // Config contains the main configuration options for the awskinesis exporter type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` Encoding `mapstructure:"encoding"` AWS AWSConfig `mapstructure:"aws"` diff --git a/exporter/awskinesisexporter/config_test.go b/exporter/awskinesisexporter/config_test.go index 579f9a7a635a..344fa304046e 100644 --- a/exporter/awskinesisexporter/config_test.go +++ b/exporter/awskinesisexporter/config_test.go @@ -34,9 +34,9 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, "default"), expected: &Config{ - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), Encoding: Encoding{ Name: "otlp", Compression: "none", @@ -59,8 +59,8 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), Encoding: Encoding{ Name: "otlp-proto", Compression: "none", diff --git a/exporter/awskinesisexporter/factory.go b/exporter/awskinesisexporter/factory.go index a95f90d24792..d083f961c060 100644 --- a/exporter/awskinesisexporter/factory.go +++ b/exporter/awskinesisexporter/factory.go @@ -35,9 +35,9 @@ func NewFactory() exporter.Factory { func createDefaultConfig() component.Config { return &Config{ - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), Encoding: Encoding{ Name: defaultEncoding, Compression: defaultCompression, @@ -56,7 +56,7 @@ func newTracesExporter(ctx context.Context, params exporter.Settings, conf compo return nil, err } c := conf.(*Config) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, params, conf, @@ -74,7 +74,7 @@ func newMetricsExporter(ctx context.Context, params exporter.Settings, conf comp return nil, err } c := conf.(*Config) - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, params, c, @@ -92,7 +92,7 @@ func newLogsExporter(ctx context.Context, params exporter.Settings, conf compone return nil, err } c := conf.(*Config) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, params, c, diff --git a/exporter/awskinesisexporter/generated_component_test.go b/exporter/awskinesisexporter/generated_component_test.go index 31b0bfbf4258..facbeaf82ae8 100644 --- a/exporter/awskinesisexporter/generated_component_test.go +++ b/exporter/awskinesisexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/awskinesisexporter/go.mod b/exporter/awskinesisexporter/go.mod index 4fc4330c72dc..3d26c1f2ccf1 100644 --- a/exporter/awskinesisexporter/go.mod +++ b/exporter/awskinesisexporter/go.mod @@ -3,50 +3,48 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskin go 1.22.0 require ( - github.com/aws/aws-sdk-go-v2 v1.30.4 - github.com/aws/aws-sdk-go-v2/config v1.27.31 - github.com/aws/aws-sdk-go-v2/credentials v1.17.30 - github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.5 - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 + github.com/aws/aws-sdk-go-v2 v1.32.3 + github.com/aws/aws-sdk-go-v2/config v1.28.1 + github.com/aws/aws-sdk-go-v2/credentials v1.17.42 + github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.3 + github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 github.com/cenkalti/backoff/v4 v4.3.0 github.com/gogo/protobuf v1.3.2 github.com/google/uuid v1.6.0 - github.com/jaegertracing/jaeger v1.60.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.108.0 + github.com/jaegertracing/jaeger v1.62.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 ) require ( - github.com/apache/thrift v0.20.0 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect + github.com/apache/thrift v0.21.0 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect - github.com/aws/smithy-go v1.20.4 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 // indirect + github.com/aws/smithy-go v1.22.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -54,37 +52,32 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect github.com/openzipkin/zipkin-go v0.4.3 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/awskinesisexporter/go.sum b/exporter/awskinesisexporter/go.sum index 61f714cbc81f..fb687136bfd4 100644 --- a/exporter/awskinesisexporter/go.sum +++ b/exporter/awskinesisexporter/go.sum @@ -1,41 +1,37 @@ -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8= -github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw= -github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI= -github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= +github.com/aws/aws-sdk-go-v2 v1.32.3 h1:T0dRlFBKcdaUPGNtkBSwHZxrtis8CQU17UpNBZYd0wk= +github.com/aws/aws-sdk-go-v2 v1.32.3/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6/go.mod h1:j/I2++U0xX+cr44QjHay4Cvxj6FUbnxrgmqN3H1jTZA= +github.com/aws/aws-sdk-go-v2/config v1.28.1 h1:oxIvOUXy8x0U3fR//0eq+RdCKimWI900+SV+10xsCBw= +github.com/aws/aws-sdk-go-v2/config v1.28.1/go.mod h1:bRQcttQJiARbd5JZxw6wG0yIK3eLeSCPdg6uqmmlIiI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42 h1:sBP0RPjBU4neGpIYyx8mkU2QqLPl5u9cmdTWVzIpHkM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42/go.mod h1:FwZBfU530dJ26rv9saAbxa9Ej3eF/AK0OAY86k13n4M= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 h1:68jFVtt3NulEzojFesM/WVarlFpCaXLKaBxDpzkQ9OQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18/go.mod h1:Fjnn5jQVIo6VyedMc0/EhPpfNlPl7dHV916O6B+49aE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 h1:Jw50LwEkVjuVzE1NzkhNKkBf9cRN7MtE1F/b2cOKTUM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22/go.mod h1:Y/SmAyPcOTmpeVaWSzSKiILfXTVJwrGmYZhcRbhWuEY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 h1:981MHwBaRZM7+9QSR6XamDzF/o7ouUGxFzr+nVSIhrs= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22/go.mod h1:1RA1+aBEfn+CAB/Mh0MB6LsdCYCnjZm7tKXtnk499ZQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.5 h1:iirGMva2IXw4kcqsvuF+uc8ARweuVqoQJjzRZGaiV1E= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.5/go.mod h1:pKTvEQz1PcNd+gKArVyeHpVM63AWnFqYyg07WAQQANQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 h1:qcxX0JYlgWH3hpPUnd6U0ikcl6LLA9sLkXE2w1fpMvY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3/go.mod h1:cLSNEmI45soc+Ef8K/L+8sEA3A3pYFEYf5B5UI+6bH4= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.3 h1:k0LL8/0Pgg3IA+5SgxuKXZRkIo1sP7Mp9dTyuukAouU= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.3/go.mod h1:S4FSetfb/MJWdDEdcWVNVP2IOW7U99Hrm9x8NeIJOvA= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 h1:UTpsIf0loCIWEbrqdLb+0RxnTXfWh2vhw4nQmFi4nPc= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3/go.mod h1:FZ9j3PFHHAR+w0BSEjK955w5YD2UwB/l/H0yAK3MJvI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 h1:2YCmIXv3tmiItw0LlYf6v7gEHebLY45kBEnPezbUKyU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3/go.mod h1:u19stRyNPxGhj6dRm+Cdgu6N75qnbW7+QN0q0dsAk58= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 h1:wVnQ6tigGsRqSWDEEyH6lSAJ9OyFUsSnbaUWChuSGzs= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3/go.mod h1:VZa9yTFyj4o10YGsmDO4gbQJUvvhY72fhumT8W4LqsE= +github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= +github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -45,8 +41,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -54,8 +50,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -64,8 +60,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -76,8 +70,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -87,21 +79,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -110,54 +92,57 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.111.0 h1:D3LJTYrrK2ac94E2PXPSbVkArqxbklbCLsE4MAJQdRo= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -173,20 +158,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -195,12 +180,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/awskinesisexporter/internal/batch/encode_jaeger.go b/exporter/awskinesisexporter/internal/batch/encode_jaeger.go index 42131ee0ea3d..50f4662a0575 100644 --- a/exporter/awskinesisexporter/internal/batch/encode_jaeger.go +++ b/exporter/awskinesisexporter/internal/batch/encode_jaeger.go @@ -6,7 +6,6 @@ package batch // import "github.com/open-telemetry/opentelemetry-collector-contr import ( "github.com/gogo/protobuf/proto" "github.com/jaegertracing/jaeger/model" - "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" @@ -30,10 +29,7 @@ type jaegerEncoder struct { var _ Encoder = (*jaegerEncoder)(nil) func (je jaegerEncoder) Traces(td ptrace.Traces) (*Batch, error) { - traces, err := jaeger.ProtoFromTraces(td) - if err != nil { - return nil, consumererror.NewTraces(err, td) - } + traces := jaeger.ProtoFromTraces(td) bt := New(je.batchOptions...) diff --git a/exporter/awss3exporter/factory.go b/exporter/awss3exporter/factory.go index 27e9875d5326..220abc688636 100644 --- a/exporter/awss3exporter/factory.go +++ b/exporter/awss3exporter/factory.go @@ -41,7 +41,7 @@ func createLogsExporter(ctx context.Context, s3Exporter := newS3Exporter(config.(*Config), params) - return exporterhelper.NewLogsExporter(ctx, params, + return exporterhelper.NewLogs(ctx, params, config, s3Exporter.ConsumeLogs, exporterhelper.WithStart(s3Exporter.start)) @@ -57,7 +57,7 @@ func createMetricsExporter(ctx context.Context, return nil, fmt.Errorf("metrics are not supported by sumo_ic output format") } - return exporterhelper.NewMetricsExporter(ctx, params, + return exporterhelper.NewMetrics(ctx, params, config, s3Exporter.ConsumeMetrics, exporterhelper.WithStart(s3Exporter.start)) @@ -73,7 +73,7 @@ func createTracesExporter(ctx context.Context, return nil, fmt.Errorf("traces are not supported by sumo_ic output format") } - return exporterhelper.NewTracesExporter(ctx, + return exporterhelper.NewTraces(ctx, params, config, s3Exporter.ConsumeTraces, diff --git a/exporter/awss3exporter/factory_test.go b/exporter/awss3exporter/factory_test.go index 45091dbc0bde..b8f221fd6824 100644 --- a/exporter/awss3exporter/factory_test.go +++ b/exporter/awss3exporter/factory_test.go @@ -19,7 +19,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cfg := createDefaultConfig() exp, err := createMetricsExporter( context.Background(), @@ -29,7 +29,7 @@ func TestCreateMetricsExporter(t *testing.T) { require.NotNil(t, exp) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cfg := createDefaultConfig() exp, err := createTracesExporter( context.Background(), @@ -39,7 +39,7 @@ func TestCreateTracesExporter(t *testing.T) { require.NotNil(t, exp) } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { cfg := createDefaultConfig() exp, err := createLogsExporter( context.Background(), diff --git a/exporter/awss3exporter/generated_component_test.go b/exporter/awss3exporter/generated_component_test.go index 5820fd03e416..ee4ba1212973 100644 --- a/exporter/awss3exporter/generated_component_test.go +++ b/exporter/awss3exporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/awss3exporter/generated_package_test.go b/exporter/awss3exporter/generated_package_test.go index 9aae1bf83b6d..ff834e53d2f5 100644 --- a/exporter/awss3exporter/generated_package_test.go +++ b/exporter/awss3exporter/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) + goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("net/http.(*persistConn).writeLoop"), goleak.IgnoreTopFunction("internal/poll.runtime_pollWait")) } diff --git a/exporter/awss3exporter/go.mod b/exporter/awss3exporter/go.mod index ff87c74ad8c1..eeefbb7b5a34 100644 --- a/exporter/awss3exporter/go.mod +++ b/exporter/awss3exporter/go.mod @@ -5,13 +5,14 @@ go 1.22.0 require ( github.com/aws/aws-sdk-go v1.55.5 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configcompression v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 @@ -22,10 +23,11 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect @@ -33,7 +35,7 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -45,74 +47,76 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 // indirect + go.opentelemetry.io/collector/connector v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/otelcol v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/awss3exporter/go.sum b/exporter/awss3exporter/go.sum index be2f474b08c6..92d0ede57122 100644 --- a/exporter/awss3exporter/go.sum +++ b/exporter/awss3exporter/go.sum @@ -10,6 +10,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -21,8 +23,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -47,8 +49,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -74,29 +76,27 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -113,134 +113,142 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.1 h1:UiBhFP07YbZlv3fW2D/Xi0DrEMRGw2QB1DLV2JiJEis= -go.opentelemetry.io/collector/client v1.14.1/go.mod h1:a8A6aWydaeiItFzY0zlHO/Q6mLNnZsW0Y/iVxbJsO4A= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.1 h1:If0hRGyfDbC9Y80CYcLBKeSdY7BXcs98r7gPJlzH5uU= -go.opentelemetry.io/collector/config/configauth v0.108.1/go.mod h1:8P3fOkwwP7k09xaTKmu7MrMgTZmMXtWdUrJQgjhy3a4= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.1 h1:+KRFQfm0W2NHEtNMa1UuXvXvBX6B/2CTBvJk6Zi3Jhk= -go.opentelemetry.io/collector/config/confighttp v0.108.1/go.mod h1:iqdC0Gljy2U7HDX3a7pZlAH2EI3TNhFWyoVwc9R16XE= -go.opentelemetry.io/collector/config/configopaque v1.14.1 h1:5xAEa4ld+57xWKdU2gR5/6+rBa7LTCPfShJQFUxN0Zw= -go.opentelemetry.io/collector/config/configopaque v1.14.1/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.1 h1:cd5kNvLnIe+GVHUV6Fk6O5fkwS4at8dVCrFo7t0O8kE= -go.opentelemetry.io/collector/config/configtls v1.14.1/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.1 h1:Z/U8+UpvGT2DZ64/kp/nlosJgjCkhZ7MaEqQ3QHudyo= -go.opentelemetry.io/collector/config/internal v0.108.1/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.1 h1:h1kuC5Lvzxb3LcShUXdVHjh+PpqX/Kpd2ypNObwxH0s= -go.opentelemetry.io/collector/extension/auth v0.108.1/go.mod h1:QLvy/dJdiPEhUbkhqIythMoVnZxmvbzeA2Wnm4oZSgU= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1 h1:OH250Z/bXJTZjkeMwUERbLZiNPETlOxE3q4n536Kc4s= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1/go.mod h1:3QSnFvGq5jXXwSPi94x2ggBGPZxdtD0lxpPOpV3RZRc= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 h1:ZWEsXeCbNUP4GXRvlkVXBpqIH9rNtnk1knZDORo/7zA= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0/go.mod h1:76mYXizxjo8rcRsvyTuNtPykVuqmZWGcV6lGs7+++J8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 h1:529bKb9LBG8WJYxLJikl6/yUoJ+EB7BYkg3cagh/slI= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0/go.mod h1:GQgYpmD2rIGwSNd0Lz5tbVzuEyj9xdmqPN0xbkCYtts= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 h1:ZB2PoClyiXsIs6k7RxmpEtduWWjT01pQ8joXWiJ0kzo= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0/go.mod h1:q5RafpmzsbsAhs0PCz6jbMOl7XYkp0f2NYs4lxQbkOI= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -260,8 +268,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -272,12 +280,12 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -288,14 +296,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/awss3exporter/marshaler_test.go b/exporter/awss3exporter/marshaler_test.go index bfa39d6914c3..0f651fa87cc3 100644 --- a/exporter/awss3exporter/marshaler_test.go +++ b/exporter/awss3exporter/marshaler_test.go @@ -50,28 +50,12 @@ type hostWithExtensions struct { encoding encodingExtension } -func (h hostWithExtensions) Start(context.Context, component.Host) error { - panic("unsupported") -} - -func (h hostWithExtensions) Shutdown(context.Context) error { - panic("unsupported") -} - -func (h hostWithExtensions) GetFactory(component.Kind, component.Type) component.Factory { - panic("unsupported") -} - func (h hostWithExtensions) GetExtensions() map[component.ID]component.Component { return map[component.ID]component.Component{ component.MustNewID("foo"): h.encoding, } } -func (h hostWithExtensions) GetExporters() map[component.DataType]map[component.ID]component.Component { - panic("unsupported") -} - type encodingExtension struct { } diff --git a/exporter/awss3exporter/metadata.yaml b/exporter/awss3exporter/metadata.yaml index f40864cded0b..58bbdaed0730 100644 --- a/exporter/awss3exporter/metadata.yaml +++ b/exporter/awss3exporter/metadata.yaml @@ -10,3 +10,8 @@ status: tests: expect_consumer_error: true + goleak: + ignore: + top: + - "net/http.(*persistConn).writeLoop" + - "internal/poll.runtime_pollWait" diff --git a/exporter/awsxrayexporter/awsxray.go b/exporter/awsxrayexporter/awsxray.go index 1378b9de4f07..dc01d1d8f921 100644 --- a/exporter/awsxrayexporter/awsxray.go +++ b/exporter/awsxrayexporter/awsxray.go @@ -48,7 +48,7 @@ func newTracesExporter( opts = append(opts, telemetry.WithLogger(set.Logger)) sender = registry.Register(set.ID, cfg.TelemetryConfig, xrayClient, opts...) } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( context.TODO(), set, cfg, diff --git a/exporter/awsxrayexporter/awsxray_test.go b/exporter/awsxrayexporter/awsxray_test.go index 074e7112fe1f..1027624e549b 100644 --- a/exporter/awsxrayexporter/awsxray_test.go +++ b/exporter/awsxrayexporter/awsxray_test.go @@ -18,7 +18,7 @@ import ( "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil" diff --git a/exporter/awsxrayexporter/factory_test.go b/exporter/awsxrayexporter/factory_test.go index a80873e5ac85..20977e5750ac 100644 --- a/exporter/awsxrayexporter/factory_test.go +++ b/exporter/awsxrayexporter/factory_test.go @@ -69,7 +69,7 @@ func TestCreateDefaultConfigWithSkipTimestampValidation(t *testing.T) { assert.NoError(t, err) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -80,12 +80,12 @@ func TestCreateTracesExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) ctx := context.Background() - exporter, err := factory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), cfg) + exporter, err := factory.CreateTraces(ctx, exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, exporter) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -96,7 +96,7 @@ func TestCreateMetricsExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) ctx := context.Background() - exporter, err := factory.CreateMetricsExporter(ctx, exportertest.NewNopSettings(), cfg) + exporter, err := factory.CreateMetrics(ctx, exportertest.NewNopSettings(), cfg) assert.Error(t, err) assert.Nil(t, exporter) } diff --git a/exporter/awsxrayexporter/generated_component_test.go b/exporter/awsxrayexporter/generated_component_test.go index d2c5d04f9f1d..dfe5c0c2c2d6 100644 --- a/exporter/awsxrayexporter/generated_component_test.go +++ b/exporter/awsxrayexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/awsxrayexporter/go.mod b/exporter/awsxrayexporter/go.mod index d73e086349b4..d8b3abebc7eb 100644 --- a/exporter/awsxrayexporter/go.mod +++ b/exporter/awsxrayexporter/go.mod @@ -4,35 +4,33 @@ go 1.22.0 require ( github.com/aws/aws-sdk-go v1.55.5 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -40,36 +38,32 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/awsxrayexporter/go.sum b/exporter/awsxrayexporter/go.sum index e0970571df6a..82aea0068463 100644 --- a/exporter/awsxrayexporter/go.sum +++ b/exporter/awsxrayexporter/go.sum @@ -1,11 +1,7 @@ github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -14,8 +10,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -33,8 +29,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -45,8 +39,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -56,20 +48,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -78,56 +60,58 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -143,20 +127,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -167,10 +151,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/awsxrayexporter/internal/translator/aws.go b/exporter/awsxrayexporter/internal/translator/aws.go index 1eff8f3cd118..d1db1c57d17f 100644 --- a/exporter/awsxrayexporter/internal/translator/aws.go +++ b/exporter/awsxrayexporter/internal/translator/aws.go @@ -9,7 +9,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" ) diff --git a/exporter/awsxrayexporter/internal/translator/aws_test.go b/exporter/awsxrayexporter/internal/translator/aws_test.go index b173ad0d5ace..85b8a47e2f99 100644 --- a/exporter/awsxrayexporter/internal/translator/aws_test.go +++ b/exporter/awsxrayexporter/internal/translator/aws_test.go @@ -9,7 +9,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" ) diff --git a/exporter/awsxrayexporter/internal/translator/cause.go b/exporter/awsxrayexporter/internal/translator/cause.go index 36edb287c3b0..b5a3fd3b85a4 100644 --- a/exporter/awsxrayexporter/internal/translator/cause.go +++ b/exporter/awsxrayexporter/internal/translator/cause.go @@ -14,7 +14,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" ) diff --git a/exporter/awsxrayexporter/internal/translator/cause_test.go b/exporter/awsxrayexporter/internal/translator/cause_test.go index de5e3c71b927..6f4dbfcd9eb0 100644 --- a/exporter/awsxrayexporter/internal/translator/cause_test.go +++ b/exporter/awsxrayexporter/internal/translator/cause_test.go @@ -12,7 +12,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" ) func TestCauseWithExceptions(t *testing.T) { @@ -193,7 +193,7 @@ func TestCauseWithStatusMessage(t *testing.T) { require.NoError(t, w.Encode(cause)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, errorMsg)) + assert.Contains(t, jsonStr, errorMsg) } func TestCauseWithHttpStatusMessage(t *testing.T) { @@ -218,7 +218,7 @@ func TestCauseWithHttpStatusMessage(t *testing.T) { require.NoError(t, w.Encode(cause)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, errorMsg)) + assert.Contains(t, jsonStr, errorMsg) } func TestCauseWithZeroStatusMessageAndFaultHttpCode(t *testing.T) { diff --git a/exporter/awsxrayexporter/internal/translator/http.go b/exporter/awsxrayexporter/internal/translator/http.go index f1f135dafe62..e761eae7e00f 100644 --- a/exporter/awsxrayexporter/internal/translator/http.go +++ b/exporter/awsxrayexporter/internal/translator/http.go @@ -10,7 +10,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" ) diff --git a/exporter/awsxrayexporter/internal/translator/http_test.go b/exporter/awsxrayexporter/internal/translator/http_test.go index 0c5ff1b9983f..d0f8b375c72f 100644 --- a/exporter/awsxrayexporter/internal/translator/http_test.go +++ b/exporter/awsxrayexporter/internal/translator/http_test.go @@ -4,7 +4,6 @@ package translator import ( - "strings" "testing" "time" @@ -13,7 +12,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" ) func TestClientSpanWithURLAttribute(t *testing.T) { @@ -31,7 +30,7 @@ func TestClientSpanWithURLAttribute(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestClientSpanWithURLAttributeStable(t *testing.T) { @@ -49,7 +48,7 @@ func TestClientSpanWithURLAttributeStable(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestClientSpanWithSchemeHostTargetAttributes(t *testing.T) { @@ -70,7 +69,7 @@ func TestClientSpanWithSchemeHostTargetAttributes(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestClientSpanWithPeerAttributes(t *testing.T) { @@ -95,7 +94,7 @@ func TestClientSpanWithPeerAttributes(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "http://kb234.example.com:8080/users/junit")) + assert.Contains(t, jsonStr, "http://kb234.example.com:8080/users/junit") } func TestClientSpanWithPeerAttributesStable(t *testing.T) { @@ -120,7 +119,7 @@ func TestClientSpanWithPeerAttributesStable(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "http://kb234.example.com:8080/users/junit")) + assert.Contains(t, jsonStr, "http://kb234.example.com:8080/users/junit") } func TestClientSpanWithHttpPeerAttributes(t *testing.T) { @@ -168,7 +167,7 @@ func TestClientSpanWithPeerIp4Attributes(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "http://10.8.17.36:8080/users/junit")) + assert.Contains(t, jsonStr, "http://10.8.17.36:8080/users/junit") } func TestClientSpanWithPeerIp6Attributes(t *testing.T) { @@ -187,7 +186,7 @@ func TestClientSpanWithPeerIp6Attributes(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://2001:db8:85a3::8a2e:370:7334/users/junit")) + assert.Contains(t, jsonStr, "https://2001:db8:85a3::8a2e:370:7334/users/junit") } func TestServerSpanWithURLAttribute(t *testing.T) { @@ -207,7 +206,7 @@ func TestServerSpanWithURLAttribute(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestServerSpanWithURLAttributeStable(t *testing.T) { @@ -227,7 +226,7 @@ func TestServerSpanWithURLAttributeStable(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestServerSpanWithSchemeHostTargetAttributes(t *testing.T) { @@ -248,7 +247,7 @@ func TestServerSpanWithSchemeHostTargetAttributes(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestServerSpanWithSchemeHostTargetAttributesStable(t *testing.T) { @@ -269,7 +268,7 @@ func TestServerSpanWithSchemeHostTargetAttributesStable(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestServerSpanWithSchemeServernamePortTargetAttributes(t *testing.T) { @@ -291,7 +290,7 @@ func TestServerSpanWithSchemeServernamePortTargetAttributes(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestServerSpanWithSchemeServernamePortTargetAttributesStable(t *testing.T) { @@ -313,7 +312,7 @@ func TestServerSpanWithSchemeServernamePortTargetAttributesStable(t *testing.T) require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "https://api.example.com/users/junit")) + assert.Contains(t, jsonStr, "https://api.example.com/users/junit") } func TestServerSpanWithSchemeNamePortTargetAttributes(t *testing.T) { @@ -337,7 +336,7 @@ func TestServerSpanWithSchemeNamePortTargetAttributes(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "http://kb234.example.com:8080/users/junit")) + assert.Contains(t, jsonStr, "http://kb234.example.com:8080/users/junit") } func TestServerSpanWithSchemeNamePortTargetAttributesStable(t *testing.T) { @@ -361,7 +360,7 @@ func TestServerSpanWithSchemeNamePortTargetAttributesStable(t *testing.T) { require.NoError(t, w.Encode(httpData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "http://kb234.example.com:8080/users/junit")) + assert.Contains(t, jsonStr, "http://kb234.example.com:8080/users/junit") } func TestSpanWithNotEnoughHTTPRequestURLAttributes(t *testing.T) { diff --git a/exporter/awsxrayexporter/internal/translator/segment.go b/exporter/awsxrayexporter/internal/translator/segment.go index 9bb8582d14c6..98f6211cd1fd 100644 --- a/exporter/awsxrayexporter/internal/translator/segment.go +++ b/exporter/awsxrayexporter/internal/translator/segment.go @@ -18,7 +18,7 @@ import ( "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.8.0" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" diff --git a/exporter/awsxrayexporter/internal/translator/segment_test.go b/exporter/awsxrayexporter/internal/translator/segment_test.go index 9ebd032f7f8a..6351ad99922c 100644 --- a/exporter/awsxrayexporter/internal/translator/segment_test.go +++ b/exporter/awsxrayexporter/internal/translator/segment_test.go @@ -7,7 +7,6 @@ import ( "crypto/rand" "encoding/binary" "fmt" - "strings" "testing" "time" @@ -16,7 +15,7 @@ import ( "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.8.0" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" ) @@ -61,10 +60,10 @@ func TestClientSpanWithRpcAwsSdkClientAttributes(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "DynamoDB")) - assert.True(t, strings.Contains(jsonStr, "GetItem")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "DynamoDB") + assert.Contains(t, jsonStr, "GetItem") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestClientSpanWithLegacyAwsSdkClientAttributes(t *testing.T) { @@ -94,10 +93,10 @@ func TestClientSpanWithLegacyAwsSdkClientAttributes(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "DynamoDB")) - assert.True(t, strings.Contains(jsonStr, "GetItem")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "DynamoDB") + assert.Contains(t, jsonStr, "GetItem") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestClientSpanWithPeerService(t *testing.T) { @@ -253,8 +252,8 @@ func TestClientSpanWithDbComponent(t *testing.T) { require.NoError(t, w.Encode(segment)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, spanName)) - assert.True(t, strings.Contains(jsonStr, enterpriseAppID)) + assert.Contains(t, jsonStr, spanName) + assert.Contains(t, jsonStr, enterpriseAppID) } func TestClientSpanWithHttpHost(t *testing.T) { @@ -376,9 +375,9 @@ func TestSpanWithInvalidTraceIdWithoutTimestampValidation(t *testing.T) { require.NoError(t, err) assert.NotNil(t, jsonStr) - assert.True(t, strings.Contains(jsonStr, "ProducerService")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "ProducerService") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestSpanWithExpiredTraceIdWithoutTimestampValidation(t *testing.T) { @@ -1088,9 +1087,9 @@ func TestClientSpanWithAwsRemoteServiceName(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "PaymentService")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "PaymentService") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestAwsSdkSpanWithDeprecatedAwsRemoteServiceName(t *testing.T) { @@ -1115,10 +1114,10 @@ func TestAwsSdkSpanWithDeprecatedAwsRemoteServiceName(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "DynamoDb")) - assert.False(t, strings.Contains(jsonStr, "DynamoDb.PutItem")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "DynamoDb") + assert.NotContains(t, jsonStr, "DynamoDb.PutItem") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestAwsSdkSpanWithAwsRemoteServiceName(t *testing.T) { @@ -1143,10 +1142,10 @@ func TestAwsSdkSpanWithAwsRemoteServiceName(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "DynamoDb")) - assert.False(t, strings.Contains(jsonStr, "DynamoDb.PutItem")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "DynamoDb") + assert.NotContains(t, jsonStr, "DynamoDb.PutItem") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestProducerSpanWithAwsRemoteServiceName(t *testing.T) { @@ -1172,9 +1171,9 @@ func TestProducerSpanWithAwsRemoteServiceName(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "ProducerService")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "ProducerService") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestConsumerSpanWithAwsRemoteServiceName(t *testing.T) { @@ -1191,9 +1190,9 @@ func TestConsumerSpanWithAwsRemoteServiceName(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "ConsumerService")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "ConsumerService") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func TestServerSpanWithAwsLocalServiceName(t *testing.T) { @@ -1219,9 +1218,9 @@ func TestServerSpanWithAwsLocalServiceName(t *testing.T) { assert.NotNil(t, jsonStr) assert.NoError(t, err) - assert.True(t, strings.Contains(jsonStr, "PaymentLocalService")) - assert.False(t, strings.Contains(jsonStr, user)) - assert.False(t, strings.Contains(jsonStr, "user")) + assert.Contains(t, jsonStr, "PaymentLocalService") + assert.NotContains(t, jsonStr, user) + assert.NotContains(t, jsonStr, "user") } func validateLocalRootDependencySubsegment(t *testing.T, segment *awsxray.Segment, span ptrace.Span, parentID string) { diff --git a/exporter/awsxrayexporter/internal/translator/service.go b/exporter/awsxrayexporter/internal/translator/service.go index e6d32cb961c5..4977980825a5 100644 --- a/exporter/awsxrayexporter/internal/translator/service.go +++ b/exporter/awsxrayexporter/internal/translator/service.go @@ -5,7 +5,7 @@ package translator // import "github.com/open-telemetry/opentelemetry-collector- import ( "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" ) diff --git a/exporter/awsxrayexporter/internal/translator/service_test.go b/exporter/awsxrayexporter/internal/translator/service_test.go index 5898d97545c1..81745b031aba 100644 --- a/exporter/awsxrayexporter/internal/translator/service_test.go +++ b/exporter/awsxrayexporter/internal/translator/service_test.go @@ -4,13 +4,12 @@ package translator import ( - "strings" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" ) func TestServiceFromResource(t *testing.T) { @@ -23,7 +22,7 @@ func TestServiceFromResource(t *testing.T) { require.NoError(t, w.Encode(service)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "semver:1.1.4")) + assert.Contains(t, jsonStr, "semver:1.1.4") } func TestServiceFromResourceWithNoServiceVersion(t *testing.T) { @@ -36,7 +35,7 @@ func TestServiceFromResourceWithNoServiceVersion(t *testing.T) { require.NoError(t, w.Encode(service)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "v1")) + assert.Contains(t, jsonStr, "v1") } func TestServiceFromNullResource(t *testing.T) { diff --git a/exporter/awsxrayexporter/internal/translator/span_links_test.go b/exporter/awsxrayexporter/internal/translator/span_links_test.go index 1c70f1c75009..6c1fb6107bf8 100644 --- a/exporter/awsxrayexporter/internal/translator/span_links_test.go +++ b/exporter/awsxrayexporter/internal/translator/span_links_test.go @@ -5,7 +5,6 @@ package translator // import "github.com/open-telemetry/opentelemetry-collector- import ( "encoding/binary" - "strings" "testing" "time" @@ -37,10 +36,10 @@ func TestSpanLinkSimple(t *testing.T) { jsonStr, _ := MakeSegmentDocumentString(span, resource, nil, false, nil, false) - assert.True(t, strings.Contains(jsonStr, "links")) - assert.False(t, strings.Contains(jsonStr, "attributes")) - assert.True(t, strings.Contains(jsonStr, convertedTraceID)) - assert.True(t, strings.Contains(jsonStr, spanLink.SpanID().String())) + assert.Contains(t, jsonStr, "links") + assert.NotContains(t, jsonStr, "attributes") + assert.Contains(t, jsonStr, convertedTraceID) + assert.Contains(t, jsonStr, spanLink.SpanID().String()) } func TestSpanLinkEmpty(t *testing.T) { @@ -56,7 +55,7 @@ func TestSpanLinkEmpty(t *testing.T) { jsonStr, _ := MakeSegmentDocumentString(span, resource, nil, false, nil, false) - assert.False(t, strings.Contains(jsonStr, "links")) + assert.NotContains(t, jsonStr, "links") } func TestOldSpanLinkError(t *testing.T) { @@ -125,14 +124,14 @@ func TestTwoSpanLinks(t *testing.T) { jsonStr, _ := MakeSegmentDocumentString(span, resource, nil, false, nil, false) - assert.True(t, strings.Contains(jsonStr, "attributes")) - assert.True(t, strings.Contains(jsonStr, "links")) - assert.True(t, strings.Contains(jsonStr, "myKey1")) - assert.True(t, strings.Contains(jsonStr, "myKey2")) - assert.True(t, strings.Contains(jsonStr, "ABC")) - assert.True(t, strings.Contains(jsonStr, "1234")) - assert.True(t, strings.Contains(jsonStr, convertedTraceID1)) - assert.True(t, strings.Contains(jsonStr, convertedTraceID2)) + assert.Contains(t, jsonStr, "attributes") + assert.Contains(t, jsonStr, "links") + assert.Contains(t, jsonStr, "myKey1") + assert.Contains(t, jsonStr, "myKey2") + assert.Contains(t, jsonStr, "ABC") + assert.Contains(t, jsonStr, "1234") + assert.Contains(t, jsonStr, convertedTraceID1) + assert.Contains(t, jsonStr, convertedTraceID2) } func TestSpanLinkComplexAttributes(t *testing.T) { @@ -198,34 +197,34 @@ func TestSpanLinkComplexAttributes(t *testing.T) { jsonStr, _ := MakeSegmentDocumentString(span, resource, nil, false, nil, false) - assert.True(t, strings.Contains(jsonStr, "links")) + assert.Contains(t, jsonStr, "links") - assert.True(t, strings.Contains(jsonStr, "myKey1")) - assert.True(t, strings.Contains(jsonStr, "myValue")) + assert.Contains(t, jsonStr, "myKey1") + assert.Contains(t, jsonStr, "myValue") - assert.True(t, strings.Contains(jsonStr, "myKey2")) - assert.True(t, strings.Contains(jsonStr, "true")) + assert.Contains(t, jsonStr, "myKey2") + assert.Contains(t, jsonStr, "true") - assert.True(t, strings.Contains(jsonStr, "myKey3")) - assert.True(t, strings.Contains(jsonStr, "112233")) + assert.Contains(t, jsonStr, "myKey3") + assert.Contains(t, jsonStr, "112233") - assert.True(t, strings.Contains(jsonStr, "myKey4")) - assert.True(t, strings.Contains(jsonStr, "3.1415")) + assert.Contains(t, jsonStr, "myKey4") + assert.Contains(t, jsonStr, "3.1415") - assert.True(t, strings.Contains(jsonStr, "myKey5")) - assert.True(t, strings.Contains(jsonStr, "apple")) - assert.True(t, strings.Contains(jsonStr, "pear")) - assert.True(t, strings.Contains(jsonStr, "banana")) + assert.Contains(t, jsonStr, "myKey5") + assert.Contains(t, jsonStr, "apple") + assert.Contains(t, jsonStr, "pear") + assert.Contains(t, jsonStr, "banana") - assert.True(t, strings.Contains(jsonStr, "myKey6")) - assert.True(t, strings.Contains(jsonStr, "false")) + assert.Contains(t, jsonStr, "myKey6") + assert.Contains(t, jsonStr, "false") - assert.True(t, strings.Contains(jsonStr, "myKey7")) - assert.True(t, strings.Contains(jsonStr, "1234")) - assert.True(t, strings.Contains(jsonStr, "5678")) - assert.True(t, strings.Contains(jsonStr, "9012")) + assert.Contains(t, jsonStr, "myKey7") + assert.Contains(t, jsonStr, "1234") + assert.Contains(t, jsonStr, "5678") + assert.Contains(t, jsonStr, "9012") - assert.True(t, strings.Contains(jsonStr, "myKey8")) - assert.True(t, strings.Contains(jsonStr, "2.718")) - assert.True(t, strings.Contains(jsonStr, "1.618")) + assert.Contains(t, jsonStr, "myKey8") + assert.Contains(t, jsonStr, "2.718") + assert.Contains(t, jsonStr, "1.618") } diff --git a/exporter/awsxrayexporter/internal/translator/sql.go b/exporter/awsxrayexporter/internal/translator/sql.go index 89e9e4876bb9..a69d2525f8c5 100644 --- a/exporter/awsxrayexporter/internal/translator/sql.go +++ b/exporter/awsxrayexporter/internal/translator/sql.go @@ -6,7 +6,7 @@ package translator // import "github.com/open-telemetry/opentelemetry-collector- import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" awsxray "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/xray" ) diff --git a/exporter/awsxrayexporter/internal/translator/sql_test.go b/exporter/awsxrayexporter/internal/translator/sql_test.go index d3af6a2faa0f..cba2222b64d7 100644 --- a/exporter/awsxrayexporter/internal/translator/sql_test.go +++ b/exporter/awsxrayexporter/internal/translator/sql_test.go @@ -4,7 +4,6 @@ package translator import ( - "strings" "testing" "time" @@ -12,7 +11,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" ) func TestClientSpanWithStatementAttribute(t *testing.T) { @@ -35,7 +34,7 @@ func TestClientSpanWithStatementAttribute(t *testing.T) { require.NoError(t, w.Encode(sqlData)) jsonStr := w.String() testWriters.release(w) - assert.True(t, strings.Contains(jsonStr, "mysql://db.example.com:3306/customers")) + assert.Contains(t, jsonStr, "mysql://db.example.com:3306/customers") } func TestClientSpanWithNonSQLDatabase(t *testing.T) { diff --git a/exporter/awsxrayexporter/internal/translator/writer_pool_test.go b/exporter/awsxrayexporter/internal/translator/writer_pool_test.go index 2ff65756dce0..a5c07b52ff7e 100644 --- a/exporter/awsxrayexporter/internal/translator/writer_pool_test.go +++ b/exporter/awsxrayexporter/internal/translator/writer_pool_test.go @@ -12,7 +12,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" "go.uber.org/zap" ) diff --git a/exporter/azuredataexplorerexporter/README.md b/exporter/azuredataexplorerexporter/README.md index b0024e90d34a..5f355f878930 100644 --- a/exporter/azuredataexplorerexporter/README.md +++ b/exporter/azuredataexplorerexporter/README.md @@ -22,9 +22,16 @@ This exporter sends metrics, logs and trace data to The following settings are required: - `cluster_uri` (no default): The cluster name of the provisioned ADX cluster to ingest the data. -- `application_id` (no default): The client id to connect to the cluster and ingest data. -- `application_key` (no default): The cluster secret corresponding to the client id. -- `tenant_id` (no default): The tenant id where the application_id is referenced from. + +One authentication method is required: +- Service principal: + - `application_id` (no default): The client id to connect to the cluster and ingest data. + - `application_key` (no default): The cluster secret corresponding to the client id. + - `tenant_id` (no default): The tenant id where the application_id is referenced from. +- Managed identity: + - `managed_identity_id` (no default): The managed identity id to authenticate with. Set to "system" for system-assigned managed identity. Set the MI client Id (GUID) for user-assigned managed identity. +- Default authentication: + - `use_azure_auth` (default: false): Set to true to use the Azure [default authentication](https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication?tabs=bash#2-authenticate-with-azure). The following settings can be optionally configured and have default values: > Note that the database tables are expected to be created upfront before the exporter is in operation , the definition of these are in the section [Database and Table definition scripts](#database-and-table-definition-scripts) diff --git a/exporter/azuredataexplorerexporter/adx_exporter.go b/exporter/azuredataexplorerexporter/adx_exporter.go index b9b8ada24dae..49b3dd585b71 100644 --- a/exporter/azuredataexplorerexporter/adx_exporter.go +++ b/exporter/azuredataexplorerexporter/adx_exporter.go @@ -12,6 +12,7 @@ import ( "github.com/Azure/azure-kusto-go/kusto" kustoerrors "github.com/Azure/azure-kusto-go/kusto/data/errors" "github.com/Azure/azure-kusto-go/kusto/ingest" + "github.com/Azure/azure-kusto-go/kusto/ingest/ingestoptions" jsoniter "github.com/json-iterator/go" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" @@ -160,6 +161,7 @@ func newExporter(config *Config, logger *zap.Logger, telemetryDataType int, vers var ingestOptions []ingest.FileOption ingestOptions = append(ingestOptions, ingest.FileFormat(ingest.JSON)) + ingestOptions = append(ingestOptions, ingest.CompressionType(ingestoptions.GZIP)) // Expect that this mapping is already existent if refOption := getMappingRef(config, telemetryDataType); refOption != nil { ingestOptions = append(ingestOptions, refOption) @@ -216,6 +218,8 @@ func createKcsb(config *Config, version string) *kusto.ConnectionStringBuilder { isSystemManagedIdentity := strings.EqualFold(strings.TrimSpace(config.ManagedIdentityID), "SYSTEM") // If the user has managed identity done, use it. For System managed identity use the MI as system switch { + case config.UseAzureAuth: + kcsb = kusto.NewConnectionStringBuilder(config.ClusterURI).WithDefaultAzureCredential() case !isManagedIdentity: kcsb = kusto.NewConnectionStringBuilder(config.ClusterURI).WithAadAppKey(config.ApplicationID, string(config.ApplicationKey), config.TenantID) case isManagedIdentity && isSystemManagedIdentity: diff --git a/exporter/azuredataexplorerexporter/adx_exporter_test.go b/exporter/azuredataexplorerexporter/adx_exporter_test.go index 186a8839e700..f76389ee1851 100644 --- a/exporter/azuredataexplorerexporter/adx_exporter_test.go +++ b/exporter/azuredataexplorerexporter/adx_exporter_test.go @@ -178,6 +178,7 @@ func TestCreateKcsb(t *testing.T) { name string // name of the test config Config // config for the test isMsi bool // is MSI enabled + isAzureAuth bool // is azure authentication enabled applicationID string // application id managedIdentityID string // managed identity id }{ @@ -216,6 +217,15 @@ func TestCreateKcsb(t *testing.T) { managedIdentityID: "636d798f-b005-41c9-9809-81a5e5a12b2e", applicationID: "", }, + { + name: "azure auth", + config: Config{ + ClusterURI: "https://CLUSTER.kusto.windows.net", + Database: "tests", + UseAzureAuth: true, + }, + isAzureAuth: true, + }, } for i := range tests { tt := tests[i] @@ -229,6 +239,8 @@ func TestCreateKcsb(t *testing.T) { wantManagedID := tt.managedIdentityID assert.Equal(t, wantManagedID, gotKcsb.ManagedServiceIdentity) assert.Equal(t, "https://CLUSTER.kusto.windows.net", gotKcsb.DataSource) + wantIsAzure := tt.isAzureAuth + assert.Equal(t, wantIsAzure, gotKcsb.DefaultAuth) }) } } diff --git a/exporter/azuredataexplorerexporter/config.go b/exporter/azuredataexplorerexporter/config.go index e6d92cbbaf5d..e90100b65122 100644 --- a/exporter/azuredataexplorerexporter/config.go +++ b/exporter/azuredataexplorerexporter/config.go @@ -16,22 +16,23 @@ import ( // Config defines configuration for Azure Data Explorer Exporter type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - ClusterURI string `mapstructure:"cluster_uri"` - ApplicationID string `mapstructure:"application_id"` - ApplicationKey configopaque.String `mapstructure:"application_key"` - TenantID string `mapstructure:"tenant_id"` - ManagedIdentityID string `mapstructure:"managed_identity_id"` - Database string `mapstructure:"db_name"` - MetricTable string `mapstructure:"metrics_table_name"` - LogTable string `mapstructure:"logs_table_name"` - TraceTable string `mapstructure:"traces_table_name"` - MetricTableMapping string `mapstructure:"metrics_table_json_mapping"` - LogTableMapping string `mapstructure:"logs_table_json_mapping"` - TraceTableMapping string `mapstructure:"traces_table_json_mapping"` - IngestionType string `mapstructure:"ingestion_type"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + ClusterURI string `mapstructure:"cluster_uri"` + ApplicationID string `mapstructure:"application_id"` + ApplicationKey configopaque.String `mapstructure:"application_key"` + TenantID string `mapstructure:"tenant_id"` + ManagedIdentityID string `mapstructure:"managed_identity_id"` + UseAzureAuth bool `mapstructure:"use_azure_auth"` + Database string `mapstructure:"db_name"` + MetricTable string `mapstructure:"metrics_table_name"` + LogTable string `mapstructure:"logs_table_name"` + TraceTable string `mapstructure:"traces_table_name"` + MetricTableMapping string `mapstructure:"metrics_table_json_mapping"` + LogTableMapping string `mapstructure:"logs_table_json_mapping"` + TraceTableMapping string `mapstructure:"traces_table_json_mapping"` + IngestionType string `mapstructure:"ingestion_type"` } // Validate checks if the exporter configuration is valid @@ -46,9 +47,23 @@ func (adxCfg *Config) Validate() error { if isClusterURIEmpty { return errors.New(`clusterURI config is mandatory`) } - // Parameters for AD App Auth or Managed Identity Auth are mandatory - if isAppAuthEmpty && isManagedAuthEmpty { - return errors.New(`either ["application_id" , "application_key" , "tenant_id"] or ["managed_identity_id"] are needed for auth`) + // Parameters for AD App Auth or Managed Identity Auth or Default Auth are mandatory + authMethods := 0 + + if !isAppAuthEmpty { + authMethods++ + } + + if !isManagedAuthEmpty { + authMethods++ + } + + if adxCfg.UseAzureAuth { + authMethods++ + } + + if authMethods != 1 { + return errors.New(`either ["application_id" , "application_key" , "tenant_id"] or ["managed_identity_id"] or ["use_azure_auth"] must be provided for auth`) } if !(adxCfg.IngestionType == managedIngestType || adxCfg.IngestionType == queuedIngestTest || isEmpty(adxCfg.IngestionType)) { diff --git a/exporter/azuredataexplorerexporter/config_test.go b/exporter/azuredataexplorerexporter/config_test.go index 10b28f686fc2..d124e01fc163 100644 --- a/exporter/azuredataexplorerexporter/config_test.go +++ b/exporter/azuredataexplorerexporter/config_test.go @@ -45,7 +45,7 @@ func TestLoadConfig(t *testing.T) { }, { id: component.NewIDWithName(metadata.Type, "2"), - errorMessage: `either ["application_id" , "application_key" , "tenant_id"] or ["managed_identity_id"] are needed for auth`, + errorMessage: `either ["application_id" , "application_key" , "tenant_id"] or ["managed_identity_id"] or ["use_azure_auth"] must be provided for auth`, }, { id: component.NewIDWithName(metadata.Type, "3"), @@ -95,7 +95,7 @@ func TestLoadConfig(t *testing.T) { LogTable: "OTELLogs", TraceTable: "OTELTraces", IngestionType: managedIngestType, - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, BackOffConfig: configretry.BackOffConfig{ @@ -104,13 +104,25 @@ func TestLoadConfig(t *testing.T) { MaxInterval: 60 * time.Second, MaxElapsedTime: 10 * time.Minute, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, }, }, }, + { + id: component.NewIDWithName(metadata.Type, "9"), + expected: &Config{ + ClusterURI: "https://CLUSTER.kusto.windows.net", + Database: "oteldb", + MetricTable: "OTELMetrics", + LogTable: "OTELLogs", + TraceTable: "OTELTraces", + UseAzureAuth: true, + IngestionType: queuedIngestTest, + }, + }, } for _, tt := range tests { diff --git a/exporter/azuredataexplorerexporter/e2e_test.go b/exporter/azuredataexplorerexporter/e2e_test.go index ab636eb2db74..9de5207315c5 100644 --- a/exporter/azuredataexplorerexporter/e2e_test.go +++ b/exporter/azuredataexplorerexporter/e2e_test.go @@ -53,7 +53,7 @@ const ( ) // E2E tests while sending the trace data through the exporter -func TestCreateTracesExporterE2E(t *testing.T) { +func TestCreateTracesE2E(t *testing.T) { t.Parallel() config, isValid := getConfig() if !isValid { @@ -61,7 +61,7 @@ func TestCreateTracesExporterE2E(t *testing.T) { } // Create an exporter f := NewFactory() - exp, err := f.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), config) + exp, err := f.CreateTraces(context.Background(), exportertest.NewNopSettings(), config) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err) @@ -116,7 +116,7 @@ func TestCreateTracesExporterE2E(t *testing.T) { } // E2E tests while sending the logs data through the exporter -func TestCreateLogsExporterE2E(t *testing.T) { +func TestCreateLogsE2E(t *testing.T) { t.Parallel() config, isValid := getConfig() if !isValid { @@ -124,7 +124,7 @@ func TestCreateLogsExporterE2E(t *testing.T) { } // Create an exporter f := NewFactory() - exp, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), config) + exp, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), config) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err) @@ -177,7 +177,7 @@ func TestCreateLogsExporterE2E(t *testing.T) { } // E2E tests while sending the metrics data through the exporter -func TestCreateMetricsExporterE2E(t *testing.T) { +func TestCreateMetricsE2E(t *testing.T) { t.Parallel() config, isValid := getConfig() if !isValid { @@ -185,7 +185,7 @@ func TestCreateMetricsExporterE2E(t *testing.T) { } // Create an exporter f := NewFactory() - exp, err := f.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), config) + exp, err := f.CreateMetrics(context.Background(), exportertest.NewNopSettings(), config) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err) diff --git a/exporter/azuredataexplorerexporter/factory.go b/exporter/azuredataexplorerexporter/factory.go index 157c0c485d1b..886f9336f3a2 100644 --- a/exporter/azuredataexplorerexporter/factory.go +++ b/exporter/azuredataexplorerexporter/factory.go @@ -69,7 +69,7 @@ func createMetricsExporter( return nil, err } - exporter, err := exporterhelper.NewMetricsExporter( + exporter, err := exporterhelper.NewMetrics( ctx, set, adxCfg, @@ -101,7 +101,7 @@ func createTracesExporter( return nil, err } - exporter, err := exporterhelper.NewTracesExporter( + exporter, err := exporterhelper.NewTraces( ctx, set, adxCfg, @@ -133,7 +133,7 @@ func createLogsExporter( return nil, err } - exporter, err := exporterhelper.NewLogsExporter( + exporter, err := exporterhelper.NewLogs( ctx, set, adxCfg, diff --git a/exporter/azuredataexplorerexporter/factory_test.go b/exporter/azuredataexplorerexporter/factory_test.go index a0fdeda45f39..c2487d11040c 100644 --- a/exporter/azuredataexplorerexporter/factory_test.go +++ b/exporter/azuredataexplorerexporter/factory_test.go @@ -25,7 +25,7 @@ import ( // Given a new factory and no-op exporter , the NewMetric exporter should work. // We could add additional failing tests if the config is wrong (using Validate) , but that is already done on config -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -36,7 +36,7 @@ func TestCreateMetricsExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) params := exportertest.NewNopSettings() - exporter, err := factory.CreateMetricsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateMetrics(context.Background(), params, cfg) assert.NotNil(t, exporter) assert.NoError(t, err) @@ -55,7 +55,7 @@ func TestCreateMetricsExporter(t *testing.T) { // Given a new factory and no-op exporter , the NewMetric exporter should work. // We could add additional failing tests if the config is wrong (using Validate) , but that is already done on config -func TestCreateMetricsExporterWhenIngestEmpty(t *testing.T) { +func TestCreateMetricsWhenIngestEmpty(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -67,7 +67,7 @@ func TestCreateMetricsExporterWhenIngestEmpty(t *testing.T) { params := exportertest.NewNopSettings() // Load the #3 which has empty. This - assert.Panics(t, func() { _, _ = factory.CreateMetricsExporter(context.Background(), params, cfg) }) + assert.Panics(t, func() { _, _ = factory.CreateMetrics(context.Background(), params, cfg) }) } func TestCreateDefaultConfig(t *testing.T) { @@ -80,7 +80,7 @@ func TestCreateDefaultConfig(t *testing.T) { // Given a new factory and no-op exporter , the LogExporter exporter should work. // We could add additional failing tests if the config is wrong (using Validate) , but that is already done on config -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -91,7 +91,7 @@ func TestCreateLogsExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) params := exportertest.NewNopSettings() - exporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateLogs(context.Background(), params, cfg) // Load the #3 which has empty. This assert.NotNil(t, exporter) assert.NoError(t, err) @@ -110,7 +110,7 @@ func TestCreateLogsExporter(t *testing.T) { // Given a new factory and no-op exporter , the NewLogs exporter should work. // We could add additional failing tests if the config is wrong (using Validate) , but that is already done on config -func TestCreateLogsExporterWhenIngestEmpty(t *testing.T) { +func TestCreateLogsWhenIngestEmpty(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -122,13 +122,13 @@ func TestCreateLogsExporterWhenIngestEmpty(t *testing.T) { params := exportertest.NewNopSettings() // Load the #3 which has empty - // exporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) - assert.Panics(t, func() { _, _ = factory.CreateLogsExporter(context.Background(), params, cfg) }) + // exporter, err := factory.CreateLogs(context.Background(), params, cfg) + assert.Panics(t, func() { _, _ = factory.CreateLogs(context.Background(), params, cfg) }) } // Given a new factory and no-op exporter , the LogExporter exporter should work. // We could add additional failing tests if the config is wrong (using Validate) , but that is already done on config -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -139,7 +139,7 @@ func TestCreateTracesExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NotNil(t, exporter) assert.NoError(t, err) @@ -155,7 +155,7 @@ func TestCreateTracesExporter(t *testing.T) { // Given a new factory and no-op exporter , the NewLogs exporter should work. // We could add additional failing tests if the config is wrong (using Validate) , but that is already done on config -func TestCreateTracesExporterWhenIngestEmpty(t *testing.T) { +func TestCreateTracesWhenIngestEmpty(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) factory := NewFactory() @@ -167,5 +167,5 @@ func TestCreateTracesExporterWhenIngestEmpty(t *testing.T) { params := exportertest.NewNopSettings() // Load the #3 which has empty - assert.Panics(t, func() { _, _ = factory.CreateTracesExporter(context.Background(), params, cfg) }) + assert.Panics(t, func() { _, _ = factory.CreateTraces(context.Background(), params, cfg) }) } diff --git a/exporter/azuredataexplorerexporter/generated_component_test.go b/exporter/azuredataexplorerexporter/generated_component_test.go index 5f0c3f7746b3..cf00e12f68b8 100644 --- a/exporter/azuredataexplorerexporter/generated_component_test.go +++ b/exporter/azuredataexplorerexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/azuredataexplorerexporter/generated_package_test.go b/exporter/azuredataexplorerexporter/generated_package_test.go index 2c8adff977c9..d41fc1bed09f 100644 --- a/exporter/azuredataexplorerexporter/generated_package_test.go +++ b/exporter/azuredataexplorerexporter/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start")) + goleak.VerifyTestMain(m) } diff --git a/exporter/azuredataexplorerexporter/go.mod b/exporter/azuredataexplorerexporter/go.mod index 1304a1e413c6..d02a0add4be0 100644 --- a/exporter/azuredataexplorerexporter/go.mod +++ b/exporter/azuredataexplorerexporter/go.mod @@ -6,14 +6,15 @@ require ( github.com/Azure/azure-kusto-go v0.16.1 github.com/google/uuid v1.6.0 github.com/json-iterator/go v1.1.12 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -33,18 +34,15 @@ require ( github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gofrs/uuid v4.4.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang-jwt/jwt/v5 v5.2.1 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -54,41 +52,36 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/samber/lo v1.38.1 // indirect github.com/shopspring/decimal v1.3.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/azuredataexplorerexporter/go.sum b/exporter/azuredataexplorerexporter/go.sum index 9c3bc54ea31e..ba37131047b4 100644 --- a/exporter/azuredataexplorerexporter/go.sum +++ b/exporter/azuredataexplorerexporter/go.sum @@ -37,12 +37,8 @@ github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUM github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -53,8 +49,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -73,8 +69,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -99,22 +93,12 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM= @@ -135,54 +119,56 @@ github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pv github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -228,8 +214,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -239,8 +225,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -252,10 +238,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/exporter/azuredataexplorerexporter/metadata.yaml b/exporter/azuredataexplorerexporter/metadata.yaml index 55cd9030210b..18d4b97fcbcb 100644 --- a/exporter/azuredataexplorerexporter/metadata.yaml +++ b/exporter/azuredataexplorerexporter/metadata.yaml @@ -16,8 +16,3 @@ tests: application_key: "xx-xx-xx-xx" tenant_id: "21ff9e36-fbaa-43c8-98ba-00431ea10bc3" skip_lifecycle: true - goleak: - ignore: - top: - # See https://github.com/census-instrumentation/opencensus-go/issues/1191 for more information. - - "go.opencensus.io/stats/view.(*worker).start" \ No newline at end of file diff --git a/exporter/azuredataexplorerexporter/metricsdata_to_adx_test.go b/exporter/azuredataexplorerexporter/metricsdata_to_adx_test.go index 5afa9781713e..8aac0a877a74 100644 --- a/exporter/azuredataexplorerexporter/metricsdata_to_adx_test.go +++ b/exporter/azuredataexplorerexporter/metricsdata_to_adx_test.go @@ -156,7 +156,7 @@ func Test_rawMetricsToAdxMetrics(t *testing.T) { // Metric assertions assert.Equal(t, expectedMetric.MetricName, actualMetrics[i].MetricName) assert.Equal(t, expectedMetric.MetricType, actualMetrics[i].MetricType) - assert.Equal(t, expectedMetric.MetricValue, actualMetrics[i].MetricValue, fmt.Sprintf("Mismatch for value for test %s", tt.name)) + assert.Equalf(t, expectedMetric.MetricValue, actualMetrics[i].MetricValue, "Mismatch for value for test %s", tt.name) assert.Equal(t, expectedMetric.MetricDescription, actualMetrics[i].MetricDescription) assert.Equal(t, expectedMetric.MetricUnit, actualMetrics[i].MetricUnit) assert.Equal(t, expectedMetric.MetricAttributes, actualMetrics[i].MetricAttributes) @@ -556,7 +556,7 @@ func Test_mapToAdxMetric(t *testing.T) { // Metric assertions assert.Equal(t, expectedMetric.MetricName, actualMetrics[i].MetricName) assert.Equal(t, expectedMetric.MetricType, actualMetrics[i].MetricType) - assert.Equal(t, expectedMetric.MetricValue, actualMetrics[i].MetricValue, fmt.Sprintf("Mismatch for value for test %s", tt.name)) + assert.Equalf(t, expectedMetric.MetricValue, actualMetrics[i].MetricValue, "Mismatch for value for test %s", tt.name) assert.Equal(t, expectedMetric.MetricDescription, actualMetrics[i].MetricDescription) assert.Equal(t, expectedMetric.MetricUnit, actualMetrics[i].MetricUnit) assert.Equal(t, expectedMetric.MetricAttributes, actualMetrics[i].MetricAttributes) diff --git a/exporter/azuredataexplorerexporter/testdata/config.yaml b/exporter/azuredataexplorerexporter/testdata/config.yaml index 0fdf9fbe0a13..33ca1d14793d 100644 --- a/exporter/azuredataexplorerexporter/testdata/config.yaml +++ b/exporter/azuredataexplorerexporter/testdata/config.yaml @@ -145,4 +145,9 @@ azuredataexplorer/8: enabled: true initial_interval: 10s max_interval: 60s - max_elapsed_time: 10m \ No newline at end of file + max_elapsed_time: 10m +azuredataexplorer/9: + # Kusto cluster uri + cluster_uri: "https://CLUSTER.kusto.windows.net" + # weather to use the default azure auth + use_azure_auth: true diff --git a/exporter/azuremonitorexporter/config.go b/exporter/azuremonitorexporter/config.go index a4be0f3cfcb2..59430fc02bda 100644 --- a/exporter/azuremonitorexporter/config.go +++ b/exporter/azuremonitorexporter/config.go @@ -12,11 +12,11 @@ import ( // Config defines configuration for Azure Monitor type Config struct { - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - Endpoint string `mapstructure:"endpoint"` - ConnectionString configopaque.String `mapstructure:"connection_string"` - InstrumentationKey configopaque.String `mapstructure:"instrumentation_key"` - MaxBatchSize int `mapstructure:"maxbatchsize"` - MaxBatchInterval time.Duration `mapstructure:"maxbatchinterval"` - SpanEventsEnabled bool `mapstructure:"spaneventsenabled"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + Endpoint string `mapstructure:"endpoint"` + ConnectionString configopaque.String `mapstructure:"connection_string"` + InstrumentationKey configopaque.String `mapstructure:"instrumentation_key"` + MaxBatchSize int `mapstructure:"maxbatchsize"` + MaxBatchInterval time.Duration `mapstructure:"maxbatchinterval"` + SpanEventsEnabled bool `mapstructure:"spaneventsenabled"` } diff --git a/exporter/azuremonitorexporter/config_test.go b/exporter/azuremonitorexporter/config_test.go index 289aa157354f..48be4f03d159 100644 --- a/exporter/azuremonitorexporter/config_test.go +++ b/exporter/azuremonitorexporter/config_test.go @@ -43,7 +43,7 @@ func TestLoadConfig(t *testing.T) { MaxBatchSize: 100, MaxBatchInterval: 10 * time.Second, SpanEventsEnabled: false, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ QueueSize: 1000, Enabled: true, NumConsumers: 10, diff --git a/exporter/azuremonitorexporter/connection_string_parser.go b/exporter/azuremonitorexporter/connection_string_parser.go index 064f09c8a6f6..c403ae83911f 100644 --- a/exporter/azuremonitorexporter/connection_string_parser.go +++ b/exporter/azuremonitorexporter/connection_string_parser.go @@ -44,7 +44,11 @@ func parseConnectionString(exporterConfig *Config) (*ConnectionVars, error) { } if connectionString == "" { connectionVars.InstrumentationKey = instrumentationKey - connectionVars.IngestionURL = getIngestionURL(DefaultIngestionEndpoint) + if exporterConfig.Endpoint == "" { + connectionVars.IngestionURL = getIngestionURL(DefaultIngestionEndpoint) + } else { + connectionVars.IngestionURL = getIngestionURL(exporterConfig.Endpoint) + } return connectionVars, nil } diff --git a/exporter/azuremonitorexporter/contracts_utils.go b/exporter/azuremonitorexporter/contracts_utils.go index 188f04e13794..9b80287f22da 100644 --- a/exporter/azuremonitorexporter/contracts_utils.go +++ b/exporter/azuremonitorexporter/contracts_utils.go @@ -6,7 +6,7 @@ package azuremonitorexporter // import "github.com/open-telemetry/opentelemetry- import ( "github.com/microsoft/ApplicationInsights-Go/appinsights/contracts" "go.opentelemetry.io/collector/pdata/pcommon" // Applies resource attributes values to data properties - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) const ( diff --git a/exporter/azuremonitorexporter/conventions.go b/exporter/azuremonitorexporter/conventions.go index 21a2bc923448..e764a74f33fc 100644 --- a/exporter/azuremonitorexporter/conventions.go +++ b/exporter/azuremonitorexporter/conventions.go @@ -7,7 +7,7 @@ import ( "strconv" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.7.0" ) /* diff --git a/exporter/azuremonitorexporter/conventions_test.go b/exporter/azuremonitorexporter/conventions_test.go index 58486ddbbec6..50fd3ecc4a97 100644 --- a/exporter/azuremonitorexporter/conventions_test.go +++ b/exporter/azuremonitorexporter/conventions_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.7.0" ) func TestHTTPAttributeMapping(t *testing.T) { diff --git a/exporter/azuremonitorexporter/factory.go b/exporter/azuremonitorexporter/factory.go index f513454fa65e..99545457c2cc 100644 --- a/exporter/azuremonitorexporter/factory.go +++ b/exporter/azuremonitorexporter/factory.go @@ -50,7 +50,7 @@ func createDefaultConfig() component.Config { MaxBatchSize: 1024, MaxBatchInterval: 10 * time.Second, SpanEventsEnabled: false, - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), } } diff --git a/exporter/azuremonitorexporter/factory_test.go b/exporter/azuremonitorexporter/factory_test.go index 00ef09419db1..67c2cdf60250 100644 --- a/exporter/azuremonitorexporter/factory_test.go +++ b/exporter/azuremonitorexporter/factory_test.go @@ -15,7 +15,7 @@ import ( type badConfig struct { } -func TestCreateTracesExporterUsingSpecificTransportChannel(t *testing.T) { +func TestCreateTracesUsingSpecificTransportChannel(t *testing.T) { // mock transport channel creation f := factory{tChannel: &mockTransportChannel{}} ctx := context.Background() @@ -27,7 +27,7 @@ func TestCreateTracesExporterUsingSpecificTransportChannel(t *testing.T) { assert.NoError(t, err) } -func TestCreateTracesExporterUsingDefaultTransportChannel(t *testing.T) { +func TestCreateTracesUsingDefaultTransportChannel(t *testing.T) { // We get the default transport channel creation, if we don't specify one during f creation f := factory{} assert.Nil(t, f.tChannel) @@ -40,7 +40,7 @@ func TestCreateTracesExporterUsingDefaultTransportChannel(t *testing.T) { assert.NotNil(t, f.tChannel) } -func TestCreateTracesExporterUsingBadConfig(t *testing.T) { +func TestCreateTracesUsingBadConfig(t *testing.T) { // We get the default transport channel creation, if we don't specify one during factory creation f := factory{} assert.Nil(t, f.tChannel) diff --git a/exporter/azuremonitorexporter/generated_component_test.go b/exporter/azuremonitorexporter/generated_component_test.go index 2808a7528b13..749831d1766b 100644 --- a/exporter/azuremonitorexporter/generated_component_test.go +++ b/exporter/azuremonitorexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/azuremonitorexporter/go.mod b/exporter/azuremonitorexporter/go.mod index 641ea9b4fd3d..af95deb8c75b 100644 --- a/exporter/azuremonitorexporter/go.mod +++ b/exporter/azuremonitorexporter/go.mod @@ -4,33 +4,31 @@ go 1.22.0 require ( github.com/microsoft/ApplicationInsights-Go v0.4.4 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/zap v1.27.0 - golang.org/x/net v0.28.0 + golang.org/x/net v0.30.0 ) require ( code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gofrs/uuid v4.0.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -38,36 +36,32 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/azuremonitorexporter/go.sum b/exporter/azuremonitorexporter/go.sum index b751ec0ac4df..7b5ebdb9712c 100644 --- a/exporter/azuremonitorexporter/go.sum +++ b/exporter/azuremonitorexporter/go.sum @@ -1,11 +1,7 @@ code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c h1:5eeuG0BHx1+DHeT3AP+ISKZ2ht1UjGhm581ljqYpVeQ= code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -15,8 +11,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= @@ -33,8 +29,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -48,8 +42,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/microsoft/ApplicationInsights-Go v0.4.4 h1:G4+H9WNs6ygSCe6sUyxRc2U81TI5Es90b2t/MwX5KqY= github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -61,23 +53,13 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -87,56 +69,58 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8 github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955uh98WQvzOm0dgAeLnf2O0Rz0LPoC5ze+0= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -153,8 +137,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -163,12 +147,12 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -179,10 +163,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/exporter/azuremonitorexporter/logexporter.go b/exporter/azuremonitorexporter/logexporter.go index 62d6cbfd146a..e181a5100826 100644 --- a/exporter/azuremonitorexporter/logexporter.go +++ b/exporter/azuremonitorexporter/logexporter.go @@ -47,7 +47,7 @@ func newLogsExporter(config *Config, transportChannel transportChannel, set expo logger: set.Logger, } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( context.TODO(), set, config, diff --git a/exporter/azuremonitorexporter/logexporter_test.go b/exporter/azuremonitorexporter/logexporter_test.go index e13cc9c7260c..e6ade92105c9 100644 --- a/exporter/azuremonitorexporter/logexporter_test.go +++ b/exporter/azuremonitorexporter/logexporter_test.go @@ -17,7 +17,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" ) diff --git a/exporter/azuremonitorexporter/metricexporter.go b/exporter/azuremonitorexporter/metricexporter.go index 49505a6fe371..16d6d6ba14b2 100644 --- a/exporter/azuremonitorexporter/metricexporter.go +++ b/exporter/azuremonitorexporter/metricexporter.go @@ -49,7 +49,7 @@ func newMetricsExporter(config *Config, transportChannel transportChannel, set e packer: newMetricPacker(set.Logger), } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( context.TODO(), set, config, diff --git a/exporter/azuremonitorexporter/trace_to_envelope.go b/exporter/azuremonitorexporter/trace_to_envelope.go index dc091ab227ca..0413dd8b5471 100644 --- a/exporter/azuremonitorexporter/trace_to_envelope.go +++ b/exporter/azuremonitorexporter/trace_to_envelope.go @@ -15,7 +15,7 @@ import ( "github.com/microsoft/ApplicationInsights-Go/appinsights/contracts" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" diff --git a/exporter/azuremonitorexporter/trace_to_envelope_test.go b/exporter/azuremonitorexporter/trace_to_envelope_test.go index a0e212ef21a9..f03ecba4a146 100644 --- a/exporter/azuremonitorexporter/trace_to_envelope_test.go +++ b/exporter/azuremonitorexporter/trace_to_envelope_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" @@ -105,7 +105,7 @@ var ( // - a specific SpanStatus as opposed to none // - an error http.status_code // - http.route is specified which should replace Span name as part of the RequestData name -// - no http.client_ip or net.peer.ip specified which causes data.Source to be empty +// - no http.client_ip or net.peer.ip specified which causes data.Source to be empty // - adds a few different types of attributes func TestHTTPServerSpanToRequestDataAttributeSet1(t *testing.T) { span := getDefaultHTTPServerSpan() diff --git a/exporter/azuremonitorexporter/traceexporter.go b/exporter/azuremonitorexporter/traceexporter.go index 5faa4bf9907a..9658cde627c9 100644 --- a/exporter/azuremonitorexporter/traceexporter.go +++ b/exporter/azuremonitorexporter/traceexporter.go @@ -70,7 +70,7 @@ func newTracesExporter(config *Config, transportChannel transportChannel, set ex logger: set.Logger, } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( context.TODO(), set, config, diff --git a/exporter/azuremonitorexporter/traceexporter_test.go b/exporter/azuremonitorexporter/traceexporter_test.go index aa0ae5aedab2..a4fc97be457d 100644 --- a/exporter/azuremonitorexporter/traceexporter_test.go +++ b/exporter/azuremonitorexporter/traceexporter_test.go @@ -10,7 +10,7 @@ import ( "github.com/stretchr/testify/mock" "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "golang.org/x/net/context" ) diff --git a/exporter/carbonexporter/config.go b/exporter/carbonexporter/config.go index de3d0f75e08d..007763a4b168 100644 --- a/exporter/carbonexporter/config.go +++ b/exporter/carbonexporter/config.go @@ -25,9 +25,9 @@ type Config struct { // Timeout is the maximum duration allowed to connecting and sending the // data to the Carbon/Graphite backend. The default value is 5s. - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - QueueConfig exporterhelper.QueueSettings `mapstructure:"sending_queue"` - RetryConfig configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueConfig exporterhelper.QueueConfig `mapstructure:"sending_queue"` + RetryConfig configretry.BackOffConfig `mapstructure:"retry_on_failure"` // ResourceToTelemetrySettings defines configuration for converting resource attributes to metric labels. ResourceToTelemetryConfig resourcetotelemetry.Settings `mapstructure:"resource_to_telemetry_conversion"` @@ -41,7 +41,7 @@ func (cfg *Config) Validate() error { } // Negative timeouts are not acceptable, since all sends will fail. - if cfg.Timeout < 0 { + if cfg.TimeoutSettings.Timeout < 0 { return errors.New("'timeout' must be non-negative") } diff --git a/exporter/carbonexporter/config_test.go b/exporter/carbonexporter/config_test.go index 064e792a9d9b..fd0d0c0c3759 100644 --- a/exporter/carbonexporter/config_test.go +++ b/exporter/carbonexporter/config_test.go @@ -43,7 +43,7 @@ func TestLoadConfig(t *testing.T) { Endpoint: "localhost:8080", }, MaxIdleConns: 15, - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, RetryConfig: configretry.BackOffConfig{ @@ -54,7 +54,7 @@ func TestLoadConfig(t *testing.T) { MaxInterval: 1 * time.Minute, MaxElapsedTime: 10 * time.Minute, }, - QueueConfig: exporterhelper.QueueSettings{ + QueueConfig: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -104,7 +104,7 @@ func TestValidateConfig(t *testing.T) { name: "invalid_timeout", config: &Config{ TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: defaultEndpoint}, - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: -5 * time.Second, }, }, diff --git a/exporter/carbonexporter/exporter.go b/exporter/carbonexporter/exporter.go index e5a5406e61e7..d39d708c43db 100644 --- a/exporter/carbonexporter/exporter.go +++ b/exporter/carbonexporter/exporter.go @@ -21,11 +21,11 @@ import ( // newCarbonExporter returns a new Carbon exporter. func newCarbonExporter(ctx context.Context, cfg *Config, set exporter.Settings) (exporter.Metrics, error) { sender := carbonSender{ - writeTimeout: cfg.Timeout, - conns: newConnPool(cfg.TCPAddrConfig, cfg.Timeout, cfg.MaxIdleConns), + writeTimeout: cfg.TimeoutSettings.Timeout, + conns: newConnPool(cfg.TCPAddrConfig, cfg.TimeoutSettings.Timeout, cfg.MaxIdleConns), } - exp, err := exporterhelper.NewMetricsExporter( + exp, err := exporterhelper.NewMetrics( ctx, set, cfg, diff --git a/exporter/carbonexporter/exporter_test.go b/exporter/carbonexporter/exporter_test.go index c7516a748b7a..f8920dcbc062 100644 --- a/exporter/carbonexporter/exporter_test.go +++ b/exporter/carbonexporter/exporter_test.go @@ -24,7 +24,7 @@ import ( "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.9.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry" @@ -42,7 +42,7 @@ func TestConsumeMetricsNoServer(t *testing.T) { context.Background(), &Config{ TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: testutil.GetAvailableLocalAddress(t)}, - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: 5 * time.Second}, + TimeoutSettings: exporterhelper.TimeoutConfig{Timeout: 5 * time.Second}, }, exportertest.NewNopSettings()) require.NoError(t, err) @@ -62,7 +62,7 @@ func TestConsumeMetricsWithResourceToTelemetry(t *testing.T) { context.Background(), &Config{ TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: addr}, - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: 5 * time.Second}, + TimeoutSettings: exporterhelper.TimeoutConfig{Timeout: 5 * time.Second}, ResourceToTelemetryConfig: resourcetotelemetry.Settings{Enabled: true}, }, exportertest.NewNopSettings()) @@ -128,7 +128,7 @@ func TestConsumeMetrics(t *testing.T) { &Config{ TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: addr}, MaxIdleConns: tt.numProducers, - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: 5 * time.Second}, + TimeoutSettings: exporterhelper.TimeoutConfig{Timeout: 5 * time.Second}, }, exportertest.NewNopSettings()) require.NoError(t, err) @@ -142,7 +142,7 @@ func TestConsumeMetrics(t *testing.T) { defer writersWG.Done() <-startCh for j := 0; j < tt.writesPerProducer; j++ { - require.NoError(t, exp.ConsumeMetrics(context.Background(), tt.md)) + assert.NoError(t, exp.ConsumeMetrics(context.Background(), tt.md)) } }() } @@ -332,10 +332,10 @@ func (cs *carbonServer) start(t *testing.T, numExpectedReq int) { // Close is expected to cause error. return } - require.NoError(t, err) + assert.NoError(t, err) go func(conn net.Conn) { defer func() { - require.NoError(t, conn.Close()) + assert.NoError(t, conn.Close()) }() reader := bufio.NewReader(conn) @@ -344,7 +344,7 @@ func (cs *carbonServer) start(t *testing.T, numExpectedReq int) { if errors.Is(err, io.EOF) { return } - require.NoError(t, err) + assert.NoError(t, err) if cs.expectedContainsValue != "" { assert.Contains(t, string(buf), cs.expectedContainsValue) diff --git a/exporter/carbonexporter/factory.go b/exporter/carbonexporter/factory.go index 00efcde85e7a..6343eb2502fa 100644 --- a/exporter/carbonexporter/factory.go +++ b/exporter/carbonexporter/factory.go @@ -34,8 +34,8 @@ func createDefaultConfig() component.Config { Endpoint: defaultEndpoint, }, MaxIdleConns: 100, - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), - QueueConfig: exporterhelper.NewDefaultQueueSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), + QueueConfig: exporterhelper.NewDefaultQueueConfig(), RetryConfig: configretry.NewDefaultBackOffConfig(), } } diff --git a/exporter/carbonexporter/factory_test.go b/exporter/carbonexporter/factory_test.go index 31282bd51e8a..a64034e84399 100644 --- a/exporter/carbonexporter/factory_test.go +++ b/exporter/carbonexporter/factory_test.go @@ -19,7 +19,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cfg := createDefaultConfig() _, err := createMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) @@ -29,7 +29,7 @@ func TestCreateInstanceViaFactory(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() - exp, err := factory.CreateMetricsExporter( + exp, err := factory.CreateMetrics( context.Background(), exportertest.NewNopSettings(), cfg) @@ -39,7 +39,7 @@ func TestCreateInstanceViaFactory(t *testing.T) { // Set values that don't have a valid default. // expCfg := cfg.(*Config) - exp, err = factory.CreateMetricsExporter( + exp, err = factory.CreateMetrics( context.Background(), exportertest.NewNopSettings(), cfg) diff --git a/exporter/carbonexporter/generated_component_test.go b/exporter/carbonexporter/generated_component_test.go index d041e37ee738..5bb0838bc335 100644 --- a/exporter/carbonexporter/generated_component_test.go +++ b/exporter/carbonexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/carbonexporter/go.mod b/exporter/carbonexporter/go.mod index af044897e540..e4088e28bafa 100644 --- a/exporter/carbonexporter/go.mod +++ b/exporter/carbonexporter/go.mod @@ -3,33 +3,31 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbon go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -37,37 +35,33 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/carbonexporter/go.sum b/exporter/carbonexporter/go.sum index 6418ca2af281..95e9bbe704c3 100644 --- a/exporter/carbonexporter/go.sum +++ b/exporter/carbonexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -12,8 +8,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -27,8 +23,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -39,8 +33,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -50,78 +42,70 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -145,12 +129,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -161,10 +145,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/cassandraexporter/factory.go b/exporter/cassandraexporter/factory.go index 7ddd996c3a2f..4a5fe7eee7eb 100644 --- a/exporter/cassandraexporter/factory.go +++ b/exporter/cassandraexporter/factory.go @@ -44,12 +44,12 @@ func createTracesExporter(ctx context.Context, set exporter.Settings, cfg compon c := cfg.(*Config) exp := newTracesExporter(set.Logger, c) - return exporterhelper.NewTracesExporter(ctx, set, cfg, exp.pushTraceData, exporterhelper.WithShutdown(exp.Shutdown), exporterhelper.WithStart(exp.Start)) + return exporterhelper.NewTraces(ctx, set, cfg, exp.pushTraceData, exporterhelper.WithShutdown(exp.Shutdown), exporterhelper.WithStart(exp.Start)) } func createLogsExporter(ctx context.Context, set exporter.Settings, cfg component.Config) (exporter.Logs, error) { c := cfg.(*Config) exp := newLogsExporter(set.Logger, c) - return exporterhelper.NewLogsExporter(ctx, set, cfg, exp.pushLogsData, exporterhelper.WithShutdown(exp.Shutdown), exporterhelper.WithStart(exp.Start)) + return exporterhelper.NewLogs(ctx, set, cfg, exp.pushLogsData, exporterhelper.WithShutdown(exp.Shutdown), exporterhelper.WithStart(exp.Start)) } diff --git a/exporter/cassandraexporter/generated_component_test.go b/exporter/cassandraexporter/generated_component_test.go index 2ac810563347..02f126072861 100644 --- a/exporter/cassandraexporter/generated_component_test.go +++ b/exporter/cassandraexporter/generated_component_test.go @@ -38,14 +38,14 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -57,9 +57,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/cassandraexporter/go.mod b/exporter/cassandraexporter/go.mod index 5841fda09fca..a6ebb12a5692 100644 --- a/exporter/cassandraexporter/go.mod +++ b/exporter/cassandraexporter/go.mod @@ -3,32 +3,30 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/cassan go 1.22.0 require ( - github.com/gocql/gocql v1.6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/gocql/gocql v1.7.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -36,37 +34,33 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/cassandraexporter/go.sum b/exporter/cassandraexporter/go.sum index 45df6bcb2158..d6a1107d3a99 100644 --- a/exporter/cassandraexporter/go.sum +++ b/exporter/cassandraexporter/go.sum @@ -1,13 +1,9 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -16,10 +12,10 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/gocql/gocql v1.6.0 h1:IdFdOTbnpbd0pDhl4REKQDM+Q0SzKXQ1Yh+YZZ8T/qU= -github.com/gocql/gocql v1.6.0/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/gocql/gocql v1.7.0 h1:O+7U7/1gSN7QTEAaMEsJc1Oq2QHXvCWoF3DFK9HDHus= +github.com/gocql/gocql v1.7.0/go.mod h1:vnlvXyFZeLBF0Wy+RS8hrOdbn0UWsWtdg07XJnFxZ+4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -36,8 +32,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -51,8 +45,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -62,74 +54,66 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -153,12 +137,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -169,10 +153,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/clickhouseexporter/README.md b/exporter/clickhouseexporter/README.md index 9f3a0e72ee40..ca27d4cf04c9 100644 --- a/exporter/clickhouseexporter/README.md +++ b/exporter/clickhouseexporter/README.md @@ -3,8 +3,8 @@ | Status | | | ------------- |-----------| -| Stability | [alpha]: traces, metrics | -| | [beta]: logs | +| Stability | [alpha]: metrics | +| | [beta]: traces, logs | | Distributions | [contrib] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Fclickhouse%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Fclickhouse) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Fclickhouse%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Fclickhouse) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@hanjm](https://www.github.com/hanjm), [@dmitryax](https://www.github.com/dmitryax), [@Frapschen](https://www.github.com/Frapschen), [@SpencerTorres](https://www.github.com/SpencerTorres) | @@ -128,7 +128,7 @@ Limit 100; - Find spans with specific attribute. ```sql -SELECT Timestamp as log_time, +SELECT Timestamp, TraceId, SpanId, ParentSpanId, @@ -156,7 +156,7 @@ WITH '391dae938234560b16bb63f51501cb6f' as trace_id, (SELECT min(Start) FROM otel_traces_trace_id_ts WHERE TraceId = trace_id) as start, (SELECT max(End) + 1 FROM otel_traces_trace_id_ts WHERE TraceId = trace_id) as end -SELECT Timestamp as log_time, +SELECT Timestamp, TraceId, SpanId, ParentSpanId, @@ -180,7 +180,7 @@ Limit 100; - Find spans is error. ```sql -SELECT Timestamp as log_time, +SELECT Timestamp, TraceId, SpanId, ParentSpanId, @@ -196,7 +196,7 @@ SELECT Timestamp as log_time, toString(Links.TraceId) FROM otel_traces WHERE ServiceName = 'clickhouse-exporter' - AND StatusCode = 'STATUS_CODE_ERROR' + AND StatusCode = 'Error' AND Timestamp >= NOW() - INTERVAL 1 HOUR Limit 100; ``` @@ -204,7 +204,7 @@ Limit 100; - Find slow spans. ```sql -SELECT Timestamp as log_time, +SELECT Timestamp, TraceId, SpanId, ParentSpanId, @@ -294,7 +294,17 @@ ClickHouse tables: - `logs_table_name` (default = otel_logs): The table name for logs. - `traces_table_name` (default = otel_traces): The table name for traces. -- `metrics_table_name` (default = otel_metrics): The table name for metrics. +- `metrics_tables` + - `gauge` + - `name` (default = "otel_metrics_gauge") + - `sum` + - `name` (default = "otel_metrics_sum") + - `summary` + - `name` (default = "otel_metrics_summary") + - `histogram` + - `name` (default = "otel_metrics_histogram") + - `exponential_histogram` + - `name` (default = "otel_metrics_exp_histogram") Cluster definition: @@ -365,8 +375,18 @@ exporters: create_schema: true logs_table_name: otel_logs traces_table_name: otel_traces - metrics_table_name: otel_metrics timeout: 5s + metrics_tables: + gauge: + name: "otel_metrics_gauge" + sum: + name: "otel_metrics_sum" + summary: + name: "otel_metrics_summary" + histogram: + name: "otel_metrics_histogram" + exponential_histogram: + name: "otel_metrics_exp_histogram" retry_on_failure: enabled: true initial_interval: 5s diff --git a/exporter/clickhouseexporter/config.go b/exporter/clickhouseexporter/config.go index ca4d81652e12..f21d96a77830 100644 --- a/exporter/clickhouseexporter/config.go +++ b/exporter/clickhouseexporter/config.go @@ -14,13 +14,15 @@ import ( "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter/exporterhelper" + + "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter/internal" ) // Config defines configuration for Elastic exporter. type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` // Endpoint is the clickhouse endpoint. Endpoint string `mapstructure:"endpoint"` @@ -37,6 +39,10 @@ type Config struct { // TracesTableName is the table name for traces. default is `otel_traces`. TracesTableName string `mapstructure:"traces_table_name"` // MetricsTableName is the table name for metrics. default is `otel_metrics`. + // + // Deprecated: MetricsTableName exists for historical compatibility + // and should not be used. To set the metrics tables name, + // use the MetricsTables parameter instead. MetricsTableName string `mapstructure:"metrics_table_name"` // TTL is The data time-to-live example 30m, 48h. 0 means no ttl. TTL time.Duration `mapstructure:"ttl"` @@ -52,6 +58,21 @@ type Config struct { // Ignored if async inserts are configured in the `endpoint` or `connection_params`. // Async inserts may still be overridden server-side. AsyncInsert bool `mapstructure:"async_insert"` + // MetricsTables defines the table names for metric types. + MetricsTables MetricTablesConfig `mapstructure:"metrics_tables"` +} + +type MetricTablesConfig struct { + // Gauge is the table name for gauge metric type. default is `otel_metrics_gauge`. + Gauge internal.MetricTypeConfig `mapstructure:"gauge"` + // Sum is the table name for sum metric type. default is `otel_metrics_sum`. + Sum internal.MetricTypeConfig `mapstructure:"sum"` + // Summary is the table name for summary metric type. default is `otel_metrics_summary`. + Summary internal.MetricTypeConfig `mapstructure:"summary"` + // Histogram is the table name for histogram metric type. default is `otel_metrics_histogram`. + Histogram internal.MetricTypeConfig `mapstructure:"histogram"` + // ExponentialHistogram is the table name for exponential histogram metric type. default is `otel_metrics_exponential_histogram`. + ExponentialHistogram internal.MetricTypeConfig `mapstructure:"exponential_histogram"` } // TableEngine defines the ENGINE string value when creating the table. @@ -62,6 +83,12 @@ type TableEngine struct { const defaultDatabase = "default" const defaultTableEngineName = "MergeTree" +const defaultMetricTableName = "otel_metrics" +const defaultGaugeSuffix = "_gauge" +const defaultSumSuffix = "_sum" +const defaultSummarySuffix = "_summary" +const defaultHistogramSuffix = "_histogram" +const defaultExpHistogramSuffix = "_exponential_histogram" var ( errConfigNoEndpoint = errors.New("endpoint must be specified") @@ -78,6 +105,8 @@ func (cfg *Config) Validate() (err error) { err = errors.Join(err, e) } + cfg.buildMetricTableNames() + // Validate DSN with clickhouse driver. // Last chance to catch invalid config. if _, e := clickhouse.ParseDSN(dsn); e != nil { @@ -153,6 +182,38 @@ func (cfg *Config) shouldCreateSchema() bool { return cfg.CreateSchema } +func (cfg *Config) buildMetricTableNames() { + tableName := defaultMetricTableName + + if len(cfg.MetricsTableName) != 0 && !cfg.areMetricTableNamesSet() { + tableName = cfg.MetricsTableName + } + + if len(cfg.MetricsTables.Gauge.Name) == 0 { + cfg.MetricsTables.Gauge.Name = tableName + defaultGaugeSuffix + } + if len(cfg.MetricsTables.Sum.Name) == 0 { + cfg.MetricsTables.Sum.Name = tableName + defaultSumSuffix + } + if len(cfg.MetricsTables.Summary.Name) == 0 { + cfg.MetricsTables.Summary.Name = tableName + defaultSummarySuffix + } + if len(cfg.MetricsTables.Histogram.Name) == 0 { + cfg.MetricsTables.Histogram.Name = tableName + defaultHistogramSuffix + } + if len(cfg.MetricsTables.ExponentialHistogram.Name) == 0 { + cfg.MetricsTables.ExponentialHistogram.Name = tableName + defaultExpHistogramSuffix + } +} + +func (cfg *Config) areMetricTableNamesSet() bool { + return len(cfg.MetricsTables.Gauge.Name) != 0 || + len(cfg.MetricsTables.Sum.Name) != 0 || + len(cfg.MetricsTables.Summary.Name) != 0 || + len(cfg.MetricsTables.Histogram.Name) != 0 || + len(cfg.MetricsTables.ExponentialHistogram.Name) != 0 +} + // tableEngineString generates the ENGINE string. func (cfg *Config) tableEngineString() string { engine := cfg.TableEngine.Name diff --git a/exporter/clickhouseexporter/config_test.go b/exporter/clickhouseexporter/config_test.go index 60d2f721641c..b4b3ff73c633 100644 --- a/exporter/clickhouseexporter/config_test.go +++ b/exporter/clickhouseexporter/config_test.go @@ -19,6 +19,7 @@ import ( "go.opentelemetry.io/collector/confmap/confmaptest" "go.opentelemetry.io/collector/exporter/exporterhelper" + "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter/internal" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter/internal/metadata" ) @@ -47,16 +48,15 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, "full"), expected: &Config{ - Endpoint: defaultEndpoint, - Database: "otel", - Username: "foo", - Password: "bar", - TTL: 72 * time.Hour, - LogsTableName: "otel_logs", - TracesTableName: "otel_traces", - MetricsTableName: "otel_metrics", - CreateSchema: true, - TimeoutSettings: exporterhelper.TimeoutSettings{ + Endpoint: defaultEndpoint, + Database: "otel", + Username: "foo", + Password: "bar", + TTL: 72 * time.Hour, + LogsTableName: "otel_logs", + TracesTableName: "otel_traces", + CreateSchema: true, + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 5 * time.Second, }, BackOffConfig: configretry.BackOffConfig{ @@ -67,8 +67,15 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "otel_metrics_custom_gauge"}, + Sum: internal.MetricTypeConfig{Name: "otel_metrics_custom_sum"}, + Summary: internal.MetricTypeConfig{Name: "otel_metrics_custom_summary"}, + Histogram: internal.MetricTypeConfig{Name: "otel_metrics_custom_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "otel_metrics_custom_exp_histogram"}, + }, ConnectionParams: map[string]string{}, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 10, QueueSize: 100, @@ -102,6 +109,123 @@ func withDefaultConfig(fns ...func(*Config)) *Config { return cfg } +func TestBuildMetricMetricTableNames(t *testing.T) { + tests := []struct { + name string + cfg Config + want Config + }{ + { + name: "nothing set", + cfg: Config{}, + want: Config{ + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "otel_metrics_gauge"}, + Sum: internal.MetricTypeConfig{Name: "otel_metrics_sum"}, + Summary: internal.MetricTypeConfig{Name: "otel_metrics_summary"}, + Histogram: internal.MetricTypeConfig{Name: "otel_metrics_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "otel_metrics_exponential_histogram"}, + }, + }, + }, + { + name: "only metric_table_name set", + cfg: Config{ + MetricsTableName: "table_name", + }, + want: Config{ + MetricsTableName: "table_name", + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "table_name_gauge"}, + Sum: internal.MetricTypeConfig{Name: "table_name_sum"}, + Summary: internal.MetricTypeConfig{Name: "table_name_summary"}, + Histogram: internal.MetricTypeConfig{Name: "table_name_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "table_name_exponential_histogram"}, + }, + }, + }, + { + name: "only metric_tables set fully", + cfg: Config{ + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "table_name_gauge"}, + Sum: internal.MetricTypeConfig{Name: "table_name_sum"}, + Summary: internal.MetricTypeConfig{Name: "table_name_summary"}, + Histogram: internal.MetricTypeConfig{Name: "table_name_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "table_name_exponential_histogram"}, + }, + }, + want: Config{ + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "table_name_gauge"}, + Sum: internal.MetricTypeConfig{Name: "table_name_sum"}, + Summary: internal.MetricTypeConfig{Name: "table_name_summary"}, + Histogram: internal.MetricTypeConfig{Name: "table_name_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "table_name_exponential_histogram"}, + }, + }, + }, + { + name: "only metric_tables set partially", + cfg: Config{ + MetricsTables: MetricTablesConfig{ + Summary: internal.MetricTypeConfig{Name: "table_name_summary"}, + Histogram: internal.MetricTypeConfig{Name: "table_name_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "table_name_exp_histogram"}, + }, + }, + want: Config{ + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "otel_metrics_gauge"}, + Sum: internal.MetricTypeConfig{Name: "otel_metrics_sum"}, + Summary: internal.MetricTypeConfig{Name: "table_name_summary"}, + Histogram: internal.MetricTypeConfig{Name: "table_name_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "table_name_exp_histogram"}, + }, + }, + }, + { + name: "only metric_tables set partially with metric_table_name", + cfg: Config{ + MetricsTableName: "custom_name", + MetricsTables: MetricTablesConfig{ + Summary: internal.MetricTypeConfig{Name: "table_name_summary"}, + Histogram: internal.MetricTypeConfig{Name: "table_name_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "table_name_exp_histogram"}, + }, + }, + want: Config{ + MetricsTableName: "custom_name", + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "otel_metrics_gauge"}, + Sum: internal.MetricTypeConfig{Name: "otel_metrics_sum"}, + Summary: internal.MetricTypeConfig{Name: "table_name_summary"}, + Histogram: internal.MetricTypeConfig{Name: "table_name_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "table_name_exp_histogram"}, + }, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.cfg.buildMetricTableNames() + require.Equal(t, tt.want, tt.cfg) + }) + } +} + +func TestAreMetricTableNamesSet(t *testing.T) { + cfg := Config{} + require.False(t, cfg.areMetricTableNamesSet()) + + cfg = Config{ + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "gauge"}, + }, + } + require.True(t, cfg.areMetricTableNamesSet()) +} + func TestConfig_buildDSN(t *testing.T) { type fields struct { Endpoint string diff --git a/exporter/clickhouseexporter/example/default_ddl/traces.sql b/exporter/clickhouseexporter/example/default_ddl/traces.sql index a9ecb397bad0..bc4896fcb8db 100644 --- a/exporter/clickhouseexporter/example/default_ddl/traces.sql +++ b/exporter/clickhouseexporter/example/default_ddl/traces.sql @@ -1,40 +1,63 @@ -- Default Trace table DDL CREATE TABLE IF NOT EXISTS otel_traces ( - Timestamp DateTime64(9) CODEC(Delta, ZSTD(1)), - TraceId String CODEC(ZSTD(1)), - SpanId String CODEC(ZSTD(1)), - ParentSpanId String CODEC(ZSTD(1)), - TraceState String CODEC(ZSTD(1)), - SpanName LowCardinality(String) CODEC(ZSTD(1)), - SpanKind LowCardinality(String) CODEC(ZSTD(1)), - ServiceName LowCardinality(String) CODEC(ZSTD(1)), - ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), - ScopeName String CODEC(ZSTD(1)), - ScopeVersion String CODEC(ZSTD(1)), - SpanAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), - Duration Int64 CODEC(ZSTD(1)), - StatusCode LowCardinality(String) CODEC(ZSTD(1)), - StatusMessage String CODEC(ZSTD(1)), - Events Nested ( - Timestamp DateTime64(9), - Name LowCardinality(String), - Attributes Map(LowCardinality(String), String) - ) CODEC(ZSTD(1)), - Links Nested ( - TraceId String, - SpanId String, - TraceState String, - Attributes Map(LowCardinality(String), String) - ) CODEC(ZSTD(1)), - INDEX idx_trace_id TraceId TYPE bloom_filter(0.001) GRANULARITY 1, - INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_span_attr_key mapKeys(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_span_attr_value mapValues(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_duration Duration TYPE minmax GRANULARITY 1 + Timestamp DateTime64(9) CODEC(Delta, ZSTD(1)), + TraceId String CODEC(ZSTD(1)), + SpanId String CODEC(ZSTD(1)), + ParentSpanId String CODEC(ZSTD(1)), + TraceState String CODEC(ZSTD(1)), + SpanName LowCardinality(String) CODEC(ZSTD(1)), + SpanKind LowCardinality(String) CODEC(ZSTD(1)), + ServiceName LowCardinality(String) CODEC(ZSTD(1)), + ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), + ScopeName String CODEC(ZSTD(1)), + ScopeVersion String CODEC(ZSTD(1)), + SpanAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), + Duration UInt64 CODEC(ZSTD(1)), + StatusCode LowCardinality(String) CODEC(ZSTD(1)), + StatusMessage String CODEC(ZSTD(1)), + Events Nested ( + Timestamp DateTime64(9), + Name LowCardinality(String), + Attributes Map(LowCardinality(String), String) + ) CODEC(ZSTD(1)), + Links Nested ( + TraceId String, + SpanId String, + TraceState String, + Attributes Map(LowCardinality(String), String) + ) CODEC(ZSTD(1)), + INDEX idx_trace_id TraceId TYPE bloom_filter(0.001) GRANULARITY 1, + INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_span_attr_key mapKeys(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_span_attr_value mapValues(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_duration Duration TYPE minmax GRANULARITY 1 ) ENGINE = MergeTree() -TTL toDateTime("Timestamp") + toIntervalDay(180) PARTITION BY toDate(Timestamp) -ORDER BY (ServiceName, SpanName, toUnixTimestamp(Timestamp), TraceId) +ORDER BY (ServiceName, SpanName, toDateTime(Timestamp)) +TTL toDate(Timestamp) + toIntervalDay(180) +SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; + + +CREATE TABLE IF NOT EXISTS otel_traces_trace_id_ts ( + TraceId String CODEC(ZSTD(1)), + Start DateTime CODEC(Delta, ZSTD(1)), + End DateTime CODEC(Delta, ZSTD(1)), + INDEX idx_trace_id TraceId TYPE bloom_filter(0.01) GRANULARITY 1 +) ENGINE = MergeTree() +PARTITION BY toDate(Start) +ORDER BY (TraceId, Start) +TTL toDate(Start) + toIntervalDay(180) SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; + + +CREATE MATERIALIZED VIEW IF NOT EXISTS otel_traces_trace_id_ts_mv +TO otel_traces_trace_id_ts +AS SELECT + TraceId, + min(Timestamp) as Start, + max(Timestamp) as End +FROM otel_traces +WHERE TraceId != '' +GROUP BY TraceId; diff --git a/exporter/clickhouseexporter/exporter_logs.go b/exporter/clickhouseexporter/exporter_logs.go index ab48b27b92a8..a4987457420a 100644 --- a/exporter/clickhouseexporter/exporter_logs.go +++ b/exporter/clickhouseexporter/exporter_logs.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" diff --git a/exporter/clickhouseexporter/exporter_logs_test.go b/exporter/clickhouseexporter/exporter_logs_test.go index 4856317a7cdd..7388e68f243c 100644 --- a/exporter/clickhouseexporter/exporter_logs_test.go +++ b/exporter/clickhouseexporter/exporter_logs_test.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "go.uber.org/zap/zaptest" ) @@ -40,8 +40,7 @@ func TestLogsExporter_New(t *testing.T) { failWithMsg := func(msg string) validate { return func(t *testing.T, _ *logsExporter, err error) { - require.Error(t, err) - require.Contains(t, err.Error(), msg) + require.ErrorContains(t, err, msg) } } diff --git a/exporter/clickhouseexporter/exporter_metrics.go b/exporter/clickhouseexporter/exporter_metrics.go index 6f11ba940d57..66f67b5cc065 100644 --- a/exporter/clickhouseexporter/exporter_metrics.go +++ b/exporter/clickhouseexporter/exporter_metrics.go @@ -19,8 +19,9 @@ import ( type metricsExporter struct { client *sql.DB - logger *zap.Logger - cfg *Config + logger *zap.Logger + cfg *Config + tablesConfig internal.MetricTablesConfigMapper } func newMetricsExporter(logger *zap.Logger, cfg *Config) (*metricsExporter, error) { @@ -29,10 +30,13 @@ func newMetricsExporter(logger *zap.Logger, cfg *Config) (*metricsExporter, erro return nil, err } + tablesConfig := generateMetricTablesConfigMapper(cfg) + return &metricsExporter{ - client: client, - logger: logger, - cfg: cfg, + client: client, + logger: logger, + cfg: cfg, + tablesConfig: tablesConfig, }, nil } @@ -48,7 +52,17 @@ func (e *metricsExporter) start(ctx context.Context, _ component.Host) error { } ttlExpr := generateTTLExpr(e.cfg.TTL, "toDateTime(TimeUnix)") - return internal.NewMetricsTable(ctx, e.cfg.MetricsTableName, e.cfg.clusterString(), e.cfg.tableEngineString(), ttlExpr, e.client) + return internal.NewMetricsTable(ctx, e.tablesConfig, e.cfg.clusterString(), e.cfg.tableEngineString(), ttlExpr, e.client) +} + +func generateMetricTablesConfigMapper(cfg *Config) internal.MetricTablesConfigMapper { + return internal.MetricTablesConfigMapper{ + pmetric.MetricTypeGauge: cfg.MetricsTables.Gauge, + pmetric.MetricTypeSum: cfg.MetricsTables.Sum, + pmetric.MetricTypeSummary: cfg.MetricsTables.Summary, + pmetric.MetricTypeHistogram: cfg.MetricsTables.Histogram, + pmetric.MetricTypeExponentialHistogram: cfg.MetricsTables.ExponentialHistogram, + } } // shutdown will shut down the exporter. @@ -60,7 +74,7 @@ func (e *metricsExporter) shutdown(_ context.Context) error { } func (e *metricsExporter) pushMetricsData(ctx context.Context, md pmetric.Metrics) error { - metricsMap := internal.NewMetricsModel(e.cfg.MetricsTableName) + metricsMap := internal.NewMetricsModel(e.tablesConfig) for i := 0; i < md.ResourceMetrics().Len(); i++ { metrics := md.ResourceMetrics().At(i) resAttr := attributesToMap(metrics.Resource().Attributes()) diff --git a/exporter/clickhouseexporter/exporter_metrics_test.go b/exporter/clickhouseexporter/exporter_metrics_test.go index 5a705c3b6862..2000303cab67 100644 --- a/exporter/clickhouseexporter/exporter_metrics_test.go +++ b/exporter/clickhouseexporter/exporter_metrics_test.go @@ -17,6 +17,8 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "go.uber.org/zap/zaptest" + + "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter/internal" ) func TestMetricsClusterConfig(t *testing.T) { @@ -33,6 +35,26 @@ func TestMetricsTableEngineConfig(t *testing.T) { }) } +func Test_generateMetricMetricTableNames(t *testing.T) { + cfg := Config{ + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: "otel_metrics_custom_gauge"}, + Sum: internal.MetricTypeConfig{Name: "otel_metrics_custom_sum"}, + Summary: internal.MetricTypeConfig{Name: "otel_metrics_custom_summary"}, + Histogram: internal.MetricTypeConfig{Name: "otel_metrics_custom_histogram"}, + ExponentialHistogram: internal.MetricTypeConfig{Name: "otel_metrics_custom_exp_histogram"}, + }, + } + + require.Equal(t, internal.MetricTablesConfigMapper{ + pmetric.MetricTypeGauge: cfg.MetricsTables.Gauge, + pmetric.MetricTypeSum: cfg.MetricsTables.Sum, + pmetric.MetricTypeSummary: cfg.MetricsTables.Summary, + pmetric.MetricTypeHistogram: cfg.MetricsTables.Histogram, + pmetric.MetricTypeExponentialHistogram: cfg.MetricsTables.ExponentialHistogram, + }, generateMetricTablesConfigMapper(&cfg)) +} + func TestExporter_pushMetricsData(t *testing.T) { t.Parallel() t.Run("push success", func(t *testing.T) { diff --git a/exporter/clickhouseexporter/exporter_traces.go b/exporter/clickhouseexporter/exporter_traces.go index 6a04f4d157b0..193a1ad0fd8e 100644 --- a/exporter/clickhouseexporter/exporter_traces.go +++ b/exporter/clickhouseexporter/exporter_traces.go @@ -13,7 +13,7 @@ import ( _ "github.com/ClickHouse/clickhouse-go/v2" // For register database driver. "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" @@ -163,42 +163,42 @@ const ( // language=ClickHouse SQL createTracesTableSQL = ` CREATE TABLE IF NOT EXISTS %s %s ( - Timestamp DateTime64(9) CODEC(Delta, ZSTD(1)), - TraceId String CODEC(ZSTD(1)), - SpanId String CODEC(ZSTD(1)), - ParentSpanId String CODEC(ZSTD(1)), - TraceState String CODEC(ZSTD(1)), - SpanName LowCardinality(String) CODEC(ZSTD(1)), - SpanKind LowCardinality(String) CODEC(ZSTD(1)), - ServiceName LowCardinality(String) CODEC(ZSTD(1)), - ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), - ScopeName String CODEC(ZSTD(1)), - ScopeVersion String CODEC(ZSTD(1)), - SpanAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), - Duration Int64 CODEC(ZSTD(1)), - StatusCode LowCardinality(String) CODEC(ZSTD(1)), - StatusMessage String CODEC(ZSTD(1)), - Events Nested ( - Timestamp DateTime64(9), - Name LowCardinality(String), - Attributes Map(LowCardinality(String), String) - ) CODEC(ZSTD(1)), - Links Nested ( - TraceId String, - SpanId String, - TraceState String, - Attributes Map(LowCardinality(String), String) - ) CODEC(ZSTD(1)), - INDEX idx_trace_id TraceId TYPE bloom_filter(0.001) GRANULARITY 1, - INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_span_attr_key mapKeys(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_span_attr_value mapValues(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_duration Duration TYPE minmax GRANULARITY 1 + Timestamp DateTime64(9) CODEC(Delta, ZSTD(1)), + TraceId String CODEC(ZSTD(1)), + SpanId String CODEC(ZSTD(1)), + ParentSpanId String CODEC(ZSTD(1)), + TraceState String CODEC(ZSTD(1)), + SpanName LowCardinality(String) CODEC(ZSTD(1)), + SpanKind LowCardinality(String) CODEC(ZSTD(1)), + ServiceName LowCardinality(String) CODEC(ZSTD(1)), + ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), + ScopeName String CODEC(ZSTD(1)), + ScopeVersion String CODEC(ZSTD(1)), + SpanAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), + Duration UInt64 CODEC(ZSTD(1)), + StatusCode LowCardinality(String) CODEC(ZSTD(1)), + StatusMessage String CODEC(ZSTD(1)), + Events Nested ( + Timestamp DateTime64(9), + Name LowCardinality(String), + Attributes Map(LowCardinality(String), String) + ) CODEC(ZSTD(1)), + Links Nested ( + TraceId String, + SpanId String, + TraceState String, + Attributes Map(LowCardinality(String), String) + ) CODEC(ZSTD(1)), + INDEX idx_trace_id TraceId TYPE bloom_filter(0.001) GRANULARITY 1, + INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_span_attr_key mapKeys(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_span_attr_value mapValues(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_duration Duration TYPE minmax GRANULARITY 1 ) ENGINE = %s -%s PARTITION BY toDate(Timestamp) -ORDER BY (ServiceName, SpanName, toUnixTimestamp(Timestamp), TraceId) +ORDER BY (ServiceName, SpanName, toDateTime(Timestamp)) +%s SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; ` // language=ClickHouse SQL @@ -253,26 +253,27 @@ SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; const ( createTraceIDTsTableSQL = ` -create table IF NOT EXISTS %s_trace_id_ts %s ( +CREATE TABLE IF NOT EXISTS %s_trace_id_ts %s ( TraceId String CODEC(ZSTD(1)), - Start DateTime64(9) CODEC(Delta, ZSTD(1)), - End DateTime64(9) CODEC(Delta, ZSTD(1)), + Start DateTime CODEC(Delta, ZSTD(1)), + End DateTime CODEC(Delta, ZSTD(1)), INDEX idx_trace_id TraceId TYPE bloom_filter(0.01) GRANULARITY 1 ) ENGINE = %s +PARTITION BY toDate(Start) +ORDER BY (TraceId, Start) %s -ORDER BY (TraceId, toUnixTimestamp(Start)) -SETTINGS index_granularity=8192; +SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; ` createTraceIDTsMaterializedViewSQL = ` CREATE MATERIALIZED VIEW IF NOT EXISTS %s_trace_id_ts_mv %s TO %s.%s_trace_id_ts AS SELECT -TraceId, -min(Timestamp) as Start, -max(Timestamp) as End + TraceId, + min(Timestamp) as Start, + max(Timestamp) as End FROM %s.%s -WHERE TraceId!='' +WHERE TraceId != '' GROUP BY TraceId; ` ) @@ -282,10 +283,10 @@ func createTracesTable(ctx context.Context, cfg *Config, db *sql.DB) error { return fmt.Errorf("exec create traces table sql: %w", err) } if _, err := db.ExecContext(ctx, renderCreateTraceIDTsTableSQL(cfg)); err != nil { - return fmt.Errorf("exec create traceIDTs table sql: %w", err) + return fmt.Errorf("exec create traceID timestamp table sql: %w", err) } if _, err := db.ExecContext(ctx, renderTraceIDTsMaterializedViewSQL(cfg)); err != nil { - return fmt.Errorf("exec create traceIDTs view sql: %w", err) + return fmt.Errorf("exec create traceID timestamp view sql: %w", err) } return nil } @@ -295,12 +296,12 @@ func renderInsertTracesSQL(cfg *Config) string { } func renderCreateTracesTableSQL(cfg *Config) string { - ttlExpr := generateTTLExpr(cfg.TTL, "toDateTime(Timestamp)") + ttlExpr := generateTTLExpr(cfg.TTL, "toDate(Timestamp)") return fmt.Sprintf(createTracesTableSQL, cfg.TracesTableName, cfg.clusterString(), cfg.tableEngineString(), ttlExpr) } func renderCreateTraceIDTsTableSQL(cfg *Config) string { - ttlExpr := generateTTLExpr(cfg.TTL, "toDateTime(Start)") + ttlExpr := generateTTLExpr(cfg.TTL, "toDate(Start)") return fmt.Sprintf(createTraceIDTsTableSQL, cfg.TracesTableName, cfg.clusterString(), cfg.tableEngineString(), ttlExpr) } diff --git a/exporter/clickhouseexporter/exporter_traces_test.go b/exporter/clickhouseexporter/exporter_traces_test.go index 11391d86e430..dfa76956b2d1 100644 --- a/exporter/clickhouseexporter/exporter_traces_test.go +++ b/exporter/clickhouseexporter/exporter_traces_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap/zaptest" ) diff --git a/exporter/clickhouseexporter/factory.go b/exporter/clickhouseexporter/factory.go index 4a921a2dc239..4c545d5a9fb8 100644 --- a/exporter/clickhouseexporter/factory.go +++ b/exporter/clickhouseexporter/factory.go @@ -15,6 +15,7 @@ import ( "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" + "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter/internal" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter/internal/metadata" ) @@ -31,17 +32,23 @@ func NewFactory() exporter.Factory { func createDefaultConfig() component.Config { return &Config{ - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), ConnectionParams: map[string]string{}, Database: defaultDatabase, LogsTableName: "otel_logs", TracesTableName: "otel_traces", - MetricsTableName: "otel_metrics", TTL: 0, CreateSchema: true, AsyncInsert: true, + MetricsTables: MetricTablesConfig{ + Gauge: internal.MetricTypeConfig{Name: defaultMetricTableName + defaultGaugeSuffix}, + Sum: internal.MetricTypeConfig{Name: defaultMetricTableName + defaultSumSuffix}, + Summary: internal.MetricTypeConfig{Name: defaultMetricTableName + defaultSummarySuffix}, + Histogram: internal.MetricTypeConfig{Name: defaultMetricTableName + defaultHistogramSuffix}, + ExponentialHistogram: internal.MetricTypeConfig{Name: defaultMetricTableName + defaultExpHistogramSuffix}, + }, } } @@ -58,7 +65,7 @@ func createLogsExporter( return nil, fmt.Errorf("cannot configure clickhouse logs exporter: %w", err) } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, @@ -84,7 +91,7 @@ func createTracesExporter( return nil, fmt.Errorf("cannot configure clickhouse traces exporter: %w", err) } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -108,7 +115,7 @@ func createMetricExporter( return nil, fmt.Errorf("cannot configure clickhouse metrics exporter: %w", err) } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, diff --git a/exporter/clickhouseexporter/factory_test.go b/exporter/clickhouseexporter/factory_test.go index e1ba83209d51..cd74d0301614 100644 --- a/exporter/clickhouseexporter/factory_test.go +++ b/exporter/clickhouseexporter/factory_test.go @@ -20,39 +20,39 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestFactory_CreateLogsExporter(t *testing.T) { +func TestFactory_CreateLogs(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoint = defaultEndpoint }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateLogs(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.TODO())) } -func TestFactory_CreateTracesExporter(t *testing.T) { +func TestFactory_CreateTraces(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoint = defaultEndpoint }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.TODO())) } -func TestFactory_CreateMetricsExporter(t *testing.T) { +func TestFactory_CreateMetrics(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoint = defaultEndpoint }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateMetricsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateMetrics(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) diff --git a/exporter/clickhouseexporter/generated_component_test.go b/exporter/clickhouseexporter/generated_component_test.go index 606bffa92e98..1ef500f83329 100644 --- a/exporter/clickhouseexporter/generated_component_test.go +++ b/exporter/clickhouseexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/clickhouseexporter/go.mod b/exporter/clickhouseexporter/go.mod index b00d3851450a..5dc007f928e4 100644 --- a/exporter/clickhouseexporter/go.mod +++ b/exporter/clickhouseexporter/go.mod @@ -3,19 +3,20 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickh go 1.22.0 require ( - github.com/ClickHouse/clickhouse-go/v2 v2.28.2 + github.com/ClickHouse/clickhouse-go/v2 v2.30.0 github.com/cenkalti/backoff/v4 v4.3.0 github.com/jmoiron/sqlx v1.4.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 github.com/testcontainers/testcontainers-go v0.33.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -25,15 +26,13 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/ClickHouse/ch-go v0.61.5 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/andybalholm/brotli v1.1.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/andybalholm/brotli v1.1.1 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect github.com/cpuguy83/dockercfg v0.3.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect - github.com/docker/docker v27.2.0+incompatible // indirect + github.com/docker/docker v27.3.0+incompatible // indirect github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -42,7 +41,7 @@ require ( github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -63,7 +62,6 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/morikuni/aec v1.0.0 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/paulmach/orb v0.11.1 // indirect @@ -71,10 +69,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/segmentio/asm v1.2.0 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect @@ -83,32 +78,34 @@ require ( github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.26.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/crypto v0.28.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/clickhouseexporter/go.sum b/exporter/clickhouseexporter/go.sum index 1d3f17306073..8e377d35f743 100644 --- a/exporter/clickhouseexporter/go.sum +++ b/exporter/clickhouseexporter/go.sum @@ -8,18 +8,14 @@ github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOEl github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/ClickHouse/ch-go v0.61.5 h1:zwR8QbYI0tsMiEcze/uIMK+Tz1D3XZXLdNrlaOpeEI4= github.com/ClickHouse/ch-go v0.61.5/go.mod h1:s1LJW/F/LcFs5HJnuogFMta50kKDO0lf9zzfrbl0RQg= -github.com/ClickHouse/clickhouse-go/v2 v2.28.2 h1:D/sPEJzPRptJg6aaeAmm/ByDN9H9WgMGrgEl26QH1k8= -github.com/ClickHouse/clickhouse-go/v2 v2.28.2/go.mod h1:PQfZvFzU7TYkY68eCjc8Jq8M3HXC4hMnUmO0ZtVGkaM= +github.com/ClickHouse/clickhouse-go/v2 v2.30.0 h1:AG4D/hW39qa58+JHQIFOSnxyL46H6h2lrmGGk17dhFo= +github.com/ClickHouse/clickhouse-go/v2 v2.30.0/go.mod h1:i9ZQAojcayW3RsdCb3YR+n+wC2h65eJsZCscZ1Z1wyo= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= -github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA= +github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= @@ -33,8 +29,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/docker v27.2.0+incompatible h1:Rk9nIVdfH3+Vz4cyI/uhbINhEZ/oLmc+CBXmH6fbNk4= -github.com/docker/docker v27.2.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.3.0+incompatible h1:BNb1QY6o4JdKpqwi9IB+HUYcRRrVN4aGFUTvDmWYK1A= +github.com/docker/docker v27.3.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -54,8 +50,8 @@ github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -68,8 +64,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -92,8 +88,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= @@ -126,8 +120,6 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -143,16 +135,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= @@ -181,68 +165,72 @@ github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9f github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= +github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU= +github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 h1:lsInsfvhVIfOI6qHVyysXMNDnjO9Npvl7tlDPJFBVd4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0/go.mod h1:KQsVNh4OjgjTG0G6EiNi1jVpnaeeKsKMRwbLN+f1+8M= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -255,8 +243,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -264,8 +252,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -282,17 +270,17 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -303,16 +291,16 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= 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.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/exporter/clickhouseexporter/integration_test.go b/exporter/clickhouseexporter/integration_test.go index cbcba99f732e..74ecd52dde6b 100644 --- a/exporter/clickhouseexporter/integration_test.go +++ b/exporter/clickhouseexporter/integration_test.go @@ -95,7 +95,6 @@ func verifyExportLog(t *testing.T, logExporter *logsExporter) { type log struct { Timestamp string `db:"Timestamp"` - TimestampDate string `db:"TimestampDate"` TimestampTime string `db:"TimestampTime"` TraceID string `db:"TraceId"` SpanID string `db:"SpanId"` @@ -117,7 +116,6 @@ func verifyExportLog(t *testing.T, logExporter *logsExporter) { expectLog := log{ Timestamp: "2023-12-25T09:53:49Z", - TimestampDate: "2023-12-25T00:00:00Z", TimestampTime: "2023-12-25T09:53:49Z", TraceID: "01020300000000000000000000000000", SpanID: "0102030000000000", diff --git a/exporter/clickhouseexporter/internal/exponential_histogram_metrics.go b/exporter/clickhouseexporter/internal/exponential_histogram_metrics.go index d23c37d2e2fd..82d93dcf366f 100644 --- a/exporter/clickhouseexporter/internal/exponential_histogram_metrics.go +++ b/exporter/clickhouseexporter/internal/exponential_histogram_metrics.go @@ -11,14 +11,14 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" ) const ( // language=ClickHouse SQL createExpHistogramTableSQL = ` -CREATE TABLE IF NOT EXISTS %s_exponential_histogram %s ( +CREATE TABLE IF NOT EXISTS %s %s ( ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), ResourceSchemaUrl String CODEC(ZSTD(1)), ScopeName String CODEC(ZSTD(1)), @@ -65,7 +65,7 @@ ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; ` // language=ClickHouse SQL - insertExpHistogramTableSQL = `INSERT INTO %s_exponential_histogram ( + insertExpHistogramTableSQL = `INSERT INTO %s ( ResourceAttributes, ResourceSchemaUrl, ScopeName, diff --git a/exporter/clickhouseexporter/internal/gauge_metrics.go b/exporter/clickhouseexporter/internal/gauge_metrics.go index a45121ccaa95..596f3fa654ed 100644 --- a/exporter/clickhouseexporter/internal/gauge_metrics.go +++ b/exporter/clickhouseexporter/internal/gauge_metrics.go @@ -11,14 +11,14 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" ) const ( // language=ClickHouse SQL createGaugeTableSQL = ` -CREATE TABLE IF NOT EXISTS %s_gauge %s ( +CREATE TABLE IF NOT EXISTS %s %s ( ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), ResourceSchemaUrl String CODEC(ZSTD(1)), ScopeName String CODEC(ZSTD(1)), @@ -55,7 +55,7 @@ ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; ` // language=ClickHouse SQL - insertGaugeTableSQL = `INSERT INTO %s_gauge ( + insertGaugeTableSQL = `INSERT INTO %s ( ResourceAttributes, ResourceSchemaUrl, ScopeName, diff --git a/exporter/clickhouseexporter/internal/histogram_metrics.go b/exporter/clickhouseexporter/internal/histogram_metrics.go index 0f75d83c93e8..544e019cf8a3 100644 --- a/exporter/clickhouseexporter/internal/histogram_metrics.go +++ b/exporter/clickhouseexporter/internal/histogram_metrics.go @@ -11,14 +11,14 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" ) const ( // language=ClickHouse SQL createHistogramTableSQL = ` -CREATE TABLE IF NOT EXISTS %s_histogram %s ( +CREATE TABLE IF NOT EXISTS %s %s ( ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), ResourceSchemaUrl String CODEC(ZSTD(1)), ScopeName String CODEC(ZSTD(1)), @@ -61,7 +61,7 @@ ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; ` // language=ClickHouse SQL - insertHistogramTableSQL = `INSERT INTO %s_histogram ( + insertHistogramTableSQL = `INSERT INTO %s ( ResourceAttributes, ResourceSchemaUrl, ScopeName, diff --git a/exporter/clickhouseexporter/internal/metadata/generated_status.go b/exporter/clickhouseexporter/internal/metadata/generated_status.go index 68246c395fd0..dd45173861de 100644 --- a/exporter/clickhouseexporter/internal/metadata/generated_status.go +++ b/exporter/clickhouseexporter/internal/metadata/generated_status.go @@ -12,7 +12,7 @@ var ( ) const ( - TracesStability = component.StabilityLevelAlpha MetricsStability = component.StabilityLevelAlpha + TracesStability = component.StabilityLevelBeta LogsStability = component.StabilityLevelBeta ) diff --git a/exporter/clickhouseexporter/internal/metrics_model.go b/exporter/clickhouseexporter/internal/metrics_model.go index b4a1e6a3ab71..978a36d75be8 100644 --- a/exporter/clickhouseexporter/internal/metrics_model.go +++ b/exporter/clickhouseexporter/internal/metrics_model.go @@ -18,16 +18,22 @@ import ( "go.uber.org/zap" ) -var supportedMetricTypes = map[string]struct{}{ - createGaugeTableSQL: {}, - createSumTableSQL: {}, - createHistogramTableSQL: {}, - createExpHistogramTableSQL: {}, - createSummaryTableSQL: {}, +var supportedMetricTypes = map[pmetric.MetricType]string{ + pmetric.MetricTypeGauge: createGaugeTableSQL, + pmetric.MetricTypeSum: createSumTableSQL, + pmetric.MetricTypeHistogram: createHistogramTableSQL, + pmetric.MetricTypeExponentialHistogram: createExpHistogramTableSQL, + pmetric.MetricTypeSummary: createSummaryTableSQL, } var logger *zap.Logger +type MetricTablesConfigMapper map[pmetric.MetricType]MetricTypeConfig + +type MetricTypeConfig struct { + Name string `mapstructure:"name"` +} + // MetricsModel is used to group metric data and insert into clickhouse // any type of metrics need implement it. type MetricsModel interface { @@ -37,7 +43,7 @@ type MetricsModel interface { insert(ctx context.Context, db *sql.DB) error } -// MetricsMetaData contain specific metric data +// MetricsMetaData contain specific metric data type MetricsMetaData struct { ResAttr map[string]string ResURL string @@ -51,9 +57,9 @@ func SetLogger(l *zap.Logger) { } // NewMetricsTable create metric tables with an expiry time to storage metric telemetry data -func NewMetricsTable(ctx context.Context, tableName, cluster, engine, ttlExpr string, db *sql.DB) error { - for table := range supportedMetricTypes { - query := fmt.Sprintf(table, tableName, cluster, engine, ttlExpr) +func NewMetricsTable(ctx context.Context, tablesConfig MetricTablesConfigMapper, cluster, engine, ttlExpr string, db *sql.DB) error { + for key, queryTemplate := range supportedMetricTypes { + query := fmt.Sprintf(queryTemplate, tablesConfig[key].Name, cluster, engine, ttlExpr) if _, err := db.ExecContext(ctx, query); err != nil { return fmt.Errorf("exec create metrics table sql: %w", err) } @@ -62,22 +68,22 @@ func NewMetricsTable(ctx context.Context, tableName, cluster, engine, ttlExpr st } // NewMetricsModel create a model for contain different metric data -func NewMetricsModel(tableName string) map[pmetric.MetricType]MetricsModel { +func NewMetricsModel(tablesConfig MetricTablesConfigMapper) map[pmetric.MetricType]MetricsModel { return map[pmetric.MetricType]MetricsModel{ pmetric.MetricTypeGauge: &gaugeMetrics{ - insertSQL: fmt.Sprintf(insertGaugeTableSQL, tableName), + insertSQL: fmt.Sprintf(insertGaugeTableSQL, tablesConfig[pmetric.MetricTypeGauge].Name), }, pmetric.MetricTypeSum: &sumMetrics{ - insertSQL: fmt.Sprintf(insertSumTableSQL, tableName), + insertSQL: fmt.Sprintf(insertSumTableSQL, tablesConfig[pmetric.MetricTypeSum].Name), }, pmetric.MetricTypeHistogram: &histogramMetrics{ - insertSQL: fmt.Sprintf(insertHistogramTableSQL, tableName), + insertSQL: fmt.Sprintf(insertHistogramTableSQL, tablesConfig[pmetric.MetricTypeHistogram].Name), }, pmetric.MetricTypeExponentialHistogram: &expHistogramMetrics{ - insertSQL: fmt.Sprintf(insertExpHistogramTableSQL, tableName), + insertSQL: fmt.Sprintf(insertExpHistogramTableSQL, tablesConfig[pmetric.MetricTypeExponentialHistogram].Name), }, pmetric.MetricTypeSummary: &summaryMetrics{ - insertSQL: fmt.Sprintf(insertSummaryTableSQL, tableName), + insertSQL: fmt.Sprintf(insertSummaryTableSQL, tablesConfig[pmetric.MetricTypeSummary].Name), }, } } diff --git a/exporter/clickhouseexporter/internal/sum_metrics.go b/exporter/clickhouseexporter/internal/sum_metrics.go index c784dfdf7325..4da0faa5cb3a 100644 --- a/exporter/clickhouseexporter/internal/sum_metrics.go +++ b/exporter/clickhouseexporter/internal/sum_metrics.go @@ -11,14 +11,14 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" ) const ( // language=ClickHouse SQL createSumTableSQL = ` -CREATE TABLE IF NOT EXISTS %s_sum %s ( +CREATE TABLE IF NOT EXISTS %s %s ( ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), ResourceSchemaUrl String CODEC(ZSTD(1)), ScopeName String CODEC(ZSTD(1)), @@ -57,7 +57,7 @@ ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; ` // language=ClickHouse SQL - insertSumTableSQL = `INSERT INTO %s_sum ( + insertSumTableSQL = `INSERT INTO %s ( ResourceAttributes, ResourceSchemaUrl, ScopeName, diff --git a/exporter/clickhouseexporter/internal/summary_metrics.go b/exporter/clickhouseexporter/internal/summary_metrics.go index 5f3ca7beab8e..3182ffee452c 100644 --- a/exporter/clickhouseexporter/internal/summary_metrics.go +++ b/exporter/clickhouseexporter/internal/summary_metrics.go @@ -11,14 +11,14 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" ) const ( // language=ClickHouse SQL createSummaryTableSQL = ` -CREATE TABLE IF NOT EXISTS %s_summary %s ( +CREATE TABLE IF NOT EXISTS %s %s ( ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)), ResourceSchemaUrl String CODEC(ZSTD(1)), ScopeName String CODEC(ZSTD(1)), @@ -53,7 +53,7 @@ ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) SETTINGS index_granularity=8192, ttl_only_drop_parts = 1; ` // language=ClickHouse SQL - insertSummaryTableSQL = `INSERT INTO %s_summary ( + insertSummaryTableSQL = `INSERT INTO %s ( ResourceAttributes, ResourceSchemaUrl, ScopeName, diff --git a/exporter/clickhouseexporter/metadata.yaml b/exporter/clickhouseexporter/metadata.yaml index e998bf5d57ce..b26a30c072f4 100644 --- a/exporter/clickhouseexporter/metadata.yaml +++ b/exporter/clickhouseexporter/metadata.yaml @@ -3,8 +3,8 @@ type: clickhouse status: class: exporter stability: - alpha: [traces, metrics] - beta: [logs] + alpha: [metrics] + beta: [traces, logs] distributions: [contrib] codeowners: active: [hanjm, dmitryax, Frapschen, SpencerTorres] diff --git a/exporter/clickhouseexporter/testdata/config.yaml b/exporter/clickhouseexporter/testdata/config.yaml index 1531e4578782..9eb443cde3da 100644 --- a/exporter/clickhouseexporter/testdata/config.yaml +++ b/exporter/clickhouseexporter/testdata/config.yaml @@ -17,6 +17,17 @@ clickhouse/full: sending_queue: queue_size: 100 storage: file_storage/clickhouse + metrics_tables: + gauge: + name: "otel_metrics_custom_gauge" + sum: + name: "otel_metrics_custom_sum" + summary: + name: "otel_metrics_custom_summary" + histogram: + name: "otel_metrics_custom_histogram" + exponential_histogram: + name: "otel_metrics_custom_exp_histogram" clickhouse/invalid-endpoint: endpoint: 127.0.0.1:9000 diff --git a/exporter/coralogixexporter/README.md b/exporter/coralogixexporter/README.md index da07aca9cfe0..f6068e6163d9 100644 --- a/exporter/coralogixexporter/README.md +++ b/exporter/coralogixexporter/README.md @@ -86,14 +86,15 @@ exporters: Depending on your region, you might need to use a different domain. Here are the available domains: -| Region | Domain | -|---------|---------------------------------| -| USA1 | `coralogix.us` | -| USA2 | `cx498.coralogix.com` | -| APAC1 | `coralogix.in` | -| APAC2 | `coralogixsg.com` | -| EUROPE1 | `coralogix.com` | -| EUROPE2 | `eu2.coralogix.com` | +| Region | Domain | +|---------|-------------------------| +| USA1 | `coralogix.us` | +| USA2 | `cx498.coralogix.com` | +| APAC1 | `coralogix.in` | +| APAC2 | `coralogixsg.com` | +| APAC3 | `ap3.coralogix.com` | +| EUROPE1 | `coralogix.com` | +| EUROPE2 | `eu2.coralogix.com` | Additionally, Coralogix supports AWS PrivateLink, which provides private connectivity between virtual private clouds (VPCs), supported AWS services, and your on-premises networks without exposing your traffic to the public internet. diff --git a/exporter/coralogixexporter/config.go b/exporter/coralogixexporter/config.go index 86fec8c551b2..0c786d20710d 100644 --- a/exporter/coralogixexporter/config.go +++ b/exporter/coralogixexporter/config.go @@ -20,9 +20,9 @@ const ( // Config defines by Coralogix. type Config struct { - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - exporterhelper.TimeoutSettings `mapstructure:",squash"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // Coralogix domain Domain string `mapstructure:"domain"` diff --git a/exporter/coralogixexporter/config_test.go b/exporter/coralogixexporter/config_test.go index 22a308a4cbda..fe6bf96e79a5 100644 --- a/exporter/coralogixexporter/config_test.go +++ b/exporter/coralogixexporter/config_test.go @@ -38,13 +38,13 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, ""), expected: &Config{ - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), PrivateKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", AppName: "APP_NAME", // Deprecated: [v0.47.0] SubSystem will remove in the next version SubSystem: "SUBSYSTEM_NAME", - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), DomainSettings: configgrpc.ClientConfig{ Compression: configcompression.TypeGzip, }, @@ -93,13 +93,13 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, "all"), expected: &Config{ - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), PrivateKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", AppName: "APP_NAME", // Deprecated: [v0.47.0] SubSystem will remove in the next version SubSystem: "SUBSYSTEM_NAME", - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), DomainSettings: configgrpc.ClientConfig{ Compression: configcompression.TypeGzip, }, diff --git a/exporter/coralogixexporter/factory.go b/exporter/coralogixexporter/factory.go index 987e44728813..5c3692f3ae89 100644 --- a/exporter/coralogixexporter/factory.go +++ b/exporter/coralogixexporter/factory.go @@ -32,9 +32,9 @@ func NewFactory() exporter.Factory { func createDefaultConfig() component.Config { return &Config{ - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), DomainSettings: configgrpc.ClientConfig{ Compression: configcompression.TypeGzip, }, @@ -69,7 +69,7 @@ func createTraceExporter(ctx context.Context, set exporter.Settings, config comp return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, config, @@ -93,7 +93,7 @@ func createMetricsExporter( return nil, err } oCfg := cfg.(*Config) - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, @@ -117,7 +117,7 @@ func createLogsExporter( return nil, err } oCfg := cfg.(*Config) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, diff --git a/exporter/coralogixexporter/factory_test.go b/exporter/coralogixexporter/factory_test.go index 66966c68bcaf..b01ee188f157 100644 --- a/exporter/coralogixexporter/factory_test.go +++ b/exporter/coralogixexporter/factory_test.go @@ -30,56 +30,56 @@ func TestCreateDefaultConfig(t *testing.T) { ocfg, ok := factory.CreateDefaultConfig().(*Config) assert.True(t, ok) assert.Equal(t, ocfg.BackOffConfig, configretry.NewDefaultBackOffConfig()) - assert.Equal(t, ocfg.QueueSettings, exporterhelper.NewDefaultQueueSettings()) - assert.Equal(t, ocfg.TimeoutSettings, exporterhelper.NewDefaultTimeoutSettings()) + assert.Equal(t, ocfg.QueueSettings, exporterhelper.NewDefaultQueueConfig()) + assert.Equal(t, ocfg.TimeoutSettings, exporterhelper.NewDefaultTimeoutConfig()) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) cfg.Metrics.Endpoint = testutil.GetAvailableLocalAddress(t) set := exportertest.NewNopSettings() - oexp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + oexp, err := factory.CreateMetrics(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, oexp) require.NoError(t, oexp.Shutdown(context.Background())) } -func TestCreateMetricsExporterWithDomain(t *testing.T) { +func TestCreateMetricsWithDomain(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) cfg.Domain = "localhost" set := exportertest.NewNopSettings() - oexp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + oexp, err := factory.CreateMetrics(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, oexp) } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) cfg.Logs.Endpoint = testutil.GetAvailableLocalAddress(t) set := exportertest.NewNopSettings() - oexp, err := factory.CreateLogsExporter(context.Background(), set, cfg) + oexp, err := factory.CreateLogs(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, oexp) require.NoError(t, oexp.Shutdown(context.Background())) } -func TestCreateLogsExporterWithDomain(t *testing.T) { +func TestCreateLogsWithDomain(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) cfg.Domain = "localhost" set := exportertest.NewNopSettings() - oexp, err := factory.CreateLogsExporter(context.Background(), set, cfg) + oexp, err := factory.CreateLogs(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, oexp) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { endpoint := testutil.GetAvailableLocalAddress(t) tests := []struct { name string @@ -198,7 +198,7 @@ func TestCreateTracesExporter(t *testing.T) { t.Run(tt.name, func(t *testing.T) { factory := NewFactory() set := exportertest.NewNopSettings() - consumer, err := factory.CreateTracesExporter(context.Background(), set, tt.config) + consumer, err := factory.CreateTraces(context.Background(), set, tt.config) if tt.mustFailOnCreate { assert.Error(t, err) return @@ -221,7 +221,7 @@ func TestCreateTracesExporter(t *testing.T) { } } -func TestCreateLogsExporterWithDomainAndEndpoint(t *testing.T) { +func TestCreateLogsWithDomainAndEndpoint(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) cfg.Domain = " bad domain" @@ -229,7 +229,7 @@ func TestCreateLogsExporterWithDomainAndEndpoint(t *testing.T) { cfg.Logs.Endpoint = testutil.GetAvailableLocalAddress(t) set := exportertest.NewNopSettings() - consumer, err := factory.CreateLogsExporter(context.Background(), set, cfg) + consumer, err := factory.CreateLogs(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, consumer) diff --git a/exporter/coralogixexporter/generated_component_test.go b/exporter/coralogixexporter/generated_component_test.go index 8583db029168..aa6e56bf46b2 100644 --- a/exporter/coralogixexporter/generated_component_test.go +++ b/exporter/coralogixexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/coralogixexporter/go.mod b/exporter/coralogixexporter/go.mod index a2556b7729aa..5c8f7b048782 100644 --- a/exporter/coralogixexporter/go.mod +++ b/exporter/coralogixexporter/go.mod @@ -3,32 +3,32 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralo go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configcompression v1.18.0 + go.opentelemetry.io/collector/config/configgrpc v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd - google.golang.org/grpc v1.66.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect @@ -43,41 +43,35 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/coralogixexporter/go.sum b/exporter/coralogixexporter/go.sum index 0ff7b1a8e594..ef20a98ae090 100644 --- a/exporter/coralogixexporter/go.sum +++ b/exporter/coralogixexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -14,8 +10,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -43,8 +39,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -56,94 +50,86 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -159,20 +145,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -181,12 +167,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/coralogixexporter/logs_client.go b/exporter/coralogixexporter/logs_client.go index b5c1457c1565..44f62cc5304e 100644 --- a/exporter/coralogixexporter/logs_client.go +++ b/exporter/coralogixexporter/logs_client.go @@ -10,6 +10,7 @@ import ( "runtime" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/config/configopaque" exp "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/pdata/plog" @@ -47,12 +48,12 @@ type logsExporter struct { func (e *logsExporter) start(ctx context.Context, host component.Host) (err error) { switch { case !isEmpty(e.config.Logs.Endpoint): - if e.clientConn, err = e.config.Logs.ToClientConn(ctx, host, e.settings, grpc.WithUserAgent(e.userAgent)); err != nil { + if e.clientConn, err = e.config.Logs.ToClientConn(ctx, host, e.settings, configgrpc.WithGrpcDialOption(grpc.WithUserAgent(e.userAgent))); err != nil { return err } case !isEmpty(e.config.Domain): - if e.clientConn, err = e.config.getDomainGrpcSettings().ToClientConn(ctx, host, e.settings, grpc.WithUserAgent(e.userAgent)); err != nil { + if e.clientConn, err = e.config.getDomainGrpcSettings().ToClientConn(ctx, host, e.settings, configgrpc.WithGrpcDialOption(grpc.WithUserAgent(e.userAgent))); err != nil { return err } } diff --git a/exporter/coralogixexporter/metrics_client.go b/exporter/coralogixexporter/metrics_client.go index 038b1b44fa59..bfa19693e88b 100644 --- a/exporter/coralogixexporter/metrics_client.go +++ b/exporter/coralogixexporter/metrics_client.go @@ -11,6 +11,7 @@ import ( "time" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/exporter" @@ -54,11 +55,11 @@ func (e *metricsExporter) start(ctx context.Context, host component.Host) (err e switch { case !isEmpty(e.config.Metrics.Endpoint): - if e.clientConn, err = e.config.Metrics.ToClientConn(ctx, host, e.settings, grpc.WithUserAgent(e.userAgent)); err != nil { + if e.clientConn, err = e.config.Metrics.ToClientConn(ctx, host, e.settings, configgrpc.WithGrpcDialOption(grpc.WithUserAgent(e.userAgent))); err != nil { return err } case !isEmpty(e.config.Domain): - if e.clientConn, err = e.config.getDomainGrpcSettings().ToClientConn(ctx, host, e.settings, grpc.WithUserAgent(e.userAgent)); err != nil { + if e.clientConn, err = e.config.getDomainGrpcSettings().ToClientConn(ctx, host, e.settings, configgrpc.WithGrpcDialOption(grpc.WithUserAgent(e.userAgent))); err != nil { return err } } diff --git a/exporter/coralogixexporter/traces_client.go b/exporter/coralogixexporter/traces_client.go index 4df69573e53b..f11014664dde 100644 --- a/exporter/coralogixexporter/traces_client.go +++ b/exporter/coralogixexporter/traces_client.go @@ -10,6 +10,7 @@ import ( "runtime" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/pdata/ptrace" @@ -51,11 +52,11 @@ func (e *tracesExporter) start(ctx context.Context, host component.Host) (err er switch { case !isEmpty(e.config.Traces.Endpoint): - if e.clientConn, err = e.config.Traces.ToClientConn(ctx, host, e.settings, grpc.WithUserAgent(e.userAgent)); err != nil { + if e.clientConn, err = e.config.Traces.ToClientConn(ctx, host, e.settings, configgrpc.WithGrpcDialOption(grpc.WithUserAgent(e.userAgent))); err != nil { return err } case !isEmpty(e.config.Domain): - if e.clientConn, err = e.config.getDomainGrpcSettings().ToClientConn(ctx, host, e.settings, grpc.WithUserAgent(e.userAgent)); err != nil { + if e.clientConn, err = e.config.getDomainGrpcSettings().ToClientConn(ctx, host, e.settings, configgrpc.WithGrpcDialOption(grpc.WithUserAgent(e.userAgent))); err != nil { return err } } diff --git a/exporter/datadogexporter/README.md b/exporter/datadogexporter/README.md index bc9803f3bae3..f3da93a1edfc 100644 --- a/exporter/datadogexporter/README.md +++ b/exporter/datadogexporter/README.md @@ -3,14 +3,12 @@ | Status | | | ------------- |-----------| -| Stability | [alpha]: logs | -| | [beta]: traces, metrics | +| Stability | [beta]: traces, metrics, logs | | Distributions | [contrib] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Fdatadog%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Fdatadog) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Fdatadog%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Fdatadog) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@mx-psi](https://www.github.com/mx-psi), [@dineshg13](https://www.github.com/dineshg13), [@liustanley](https://www.github.com/liustanley), [@songy23](https://www.github.com/songy23), [@mackjmr](https://www.github.com/mackjmr), [@ankitpatel96](https://www.github.com/ankitpatel96) | | Emeritus | [@gbbr](https://www.github.com/gbbr) | -[alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib diff --git a/exporter/datadogexporter/config.go b/exporter/datadogexporter/config.go index 251c4fc84559..9409f86428da 100644 --- a/exporter/datadogexporter/config.go +++ b/exporter/datadogexporter/config.go @@ -5,674 +5,158 @@ package datadogexporter // import "github.com/open-telemetry/opentelemetry-colle import ( "encoding" - "errors" - "fmt" - "regexp" - "strings" - "time" - "github.com/DataDog/datadog-agent/pkg/util/hostname/validate" "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/confignet" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/confmap" - "go.opentelemetry.io/collector/exporter/exporterhelper" - "go.uber.org/zap" -) -var ( - errUnsetAPIKey = errors.New("api.key is not set") - errNoMetadata = errors.New("only_metadata can't be enabled when host_metadata::enabled = false or host_metadata::hostname_source != first_resource") - errEmptyEndpoint = errors.New("endpoint cannot be empty") + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" ) const ( + // Deprecated: [v0.110.0] Use `datadogconfig.TypeStr` instead. // DefaultSite is the default site of the Datadog intake to send data to - DefaultSite = "datadoghq.com" + DefaultSite = datadogconfig.DefaultSite ) +// Deprecated: [v0.110.0] Use `datadogconfig.TypeStr` instead. // APIConfig defines the API configuration options -type APIConfig struct { - // Key is the Datadog API key to associate your Agent's data with your organization. - // Create a new API key here: https://app.datadoghq.com/account/settings - Key configopaque.String `mapstructure:"key"` - - // Site is the site of the Datadog intake to send data to. - // The default value is "datadoghq.com". - Site string `mapstructure:"site"` - - // FailOnInvalidKey states whether to exit at startup on invalid API key. - // The default value is false. - FailOnInvalidKey bool `mapstructure:"fail_on_invalid_key"` -} +type APIConfig = datadogconfig.APIConfig +// Deprecated: [v0.110.0] Use `datadogconfig.MetricsConfig` instead. // MetricsConfig defines the metrics exporter specific configuration options -type MetricsConfig struct { - // DeltaTTL defines the time that previous points of a cumulative monotonic - // metric are kept in memory to calculate deltas - DeltaTTL int64 `mapstructure:"delta_ttl"` - - // TCPAddr.Endpoint is the host of the Datadog intake server to send metrics to. - // If unset, the value is obtained from the Site. - confignet.TCPAddrConfig `mapstructure:",squash"` - - ExporterConfig MetricsExporterConfig `mapstructure:",squash"` +type MetricsConfig = datadogconfig.MetricsConfig - // HistConfig defines the export of OTLP Histograms. - HistConfig HistogramConfig `mapstructure:"histograms"` - - // SumConfig defines the export of OTLP Sums. - SumConfig SumConfig `mapstructure:"sums"` - - // SummaryConfig defines the export for OTLP Summaries. - SummaryConfig SummaryConfig `mapstructure:"summaries"` -} - -type HistogramMode string +// Deprecated: [v0.110.0] Use `datadogconfig.HistogramMode` instead. +// HistogramMode is the export mode for OTLP Histogram metrics. +type HistogramMode = datadogconfig.HistogramMode const ( // HistogramModeNoBuckets reports no bucket histogram metrics. .sum and .count metrics will still be sent // if `send_count_sum_metrics` is enabled. - HistogramModeNoBuckets HistogramMode = "nobuckets" + HistogramModeNoBuckets HistogramMode = datadogconfig.HistogramModeNoBuckets // HistogramModeCounters reports histograms as Datadog counts, one metric per bucket. - HistogramModeCounters HistogramMode = "counters" + HistogramModeCounters HistogramMode = datadogconfig.HistogramModeCounters // HistogramModeDistributions reports histograms as Datadog distributions (recommended). - HistogramModeDistributions HistogramMode = "distributions" + HistogramModeDistributions HistogramMode = datadogconfig.HistogramModeDistributions ) var _ encoding.TextUnmarshaler = (*HistogramMode)(nil) -func (hm *HistogramMode) UnmarshalText(in []byte) error { - switch mode := HistogramMode(in); mode { - case HistogramModeCounters, HistogramModeDistributions, HistogramModeNoBuckets: - *hm = mode - return nil - default: - return fmt.Errorf("invalid histogram mode %q", mode) - } -} - +// Deprecated: [v0.110.0] Use `datadogconfig.HistogramConfig` instead. // HistogramConfig customizes export of OTLP Histograms. -type HistogramConfig struct { - // Mode for exporting histograms. Valid values are 'distributions', 'counters' or 'nobuckets'. - // - 'distributions' sends histograms as Datadog distributions (recommended). - // - 'counters' sends histograms as Datadog counts, one metric per bucket. - // - 'nobuckets' sends no bucket histogram metrics. Aggregation metrics will still be sent - // if `send_aggregation_metrics` is enabled. - // - // The current default is 'distributions'. - Mode HistogramMode `mapstructure:"mode"` - - // SendCountSum states if the export should send .sum and .count metrics for histograms. - // The default is false. - // Deprecated: [v0.75.0] Use `send_aggregation_metrics` (HistogramConfig.SendAggregations) instead. - SendCountSum bool `mapstructure:"send_count_sum_metrics"` - - // SendAggregations states if the exporter should send .sum, .count, .min and .max metrics for histograms. - // The default is false. - SendAggregations bool `mapstructure:"send_aggregation_metrics"` -} - -func (c *HistogramConfig) validate() error { - if c.Mode == HistogramModeNoBuckets && !c.SendAggregations { - return fmt.Errorf("'nobuckets' mode and `send_aggregation_metrics` set to false will send no histogram metrics") - } - return nil -} +type HistogramConfig = datadogconfig.HistogramConfig +// Deprecated: [v0.110.0] Use `datadogconfig.CumulativeMonotonicMode` instead. // CumulativeMonotonicSumMode is the export mode for OTLP Sum metrics. -type CumulativeMonotonicSumMode string +type CumulativeMonotonicSumMode = datadogconfig.CumulativeMonotonicSumMode const ( + // Deprecated: [v0.110.0] Use `datadogconfig.CumulativeMonotonicSumMode` instead. // CumulativeMonotonicSumModeToDelta calculates delta for // cumulative monotonic sum metrics in the client side and reports // them as Datadog counts. - CumulativeMonotonicSumModeToDelta CumulativeMonotonicSumMode = "to_delta" + CumulativeMonotonicSumModeToDelta CumulativeMonotonicSumMode = datadogconfig.CumulativeMonotonicSumModeToDelta + // Deprecated: [v0.110.0] Use `datadogconfig.CumulativeMonotonicSumMode` instead. // CumulativeMonotonicSumModeRawValue reports the raw value for // cumulative monotonic sum metrics as a Datadog gauge. - CumulativeMonotonicSumModeRawValue CumulativeMonotonicSumMode = "raw_value" + CumulativeMonotonicSumModeRawValue CumulativeMonotonicSumMode = datadogconfig.CumulativeMonotonicSumModeRawValue ) var _ encoding.TextUnmarshaler = (*CumulativeMonotonicSumMode)(nil) -// UnmarshalText implements the encoding.TextUnmarshaler interface. -func (sm *CumulativeMonotonicSumMode) UnmarshalText(in []byte) error { - switch mode := CumulativeMonotonicSumMode(in); mode { - case CumulativeMonotonicSumModeToDelta, - CumulativeMonotonicSumModeRawValue: - *sm = mode - return nil - default: - return fmt.Errorf("invalid cumulative monotonic sum mode %q", mode) - } -} - +// Deprecated: [v0.110.0] Use `datadogconfig.InitialValueMode` instead. // InitialValueMode defines what the exporter should do with the initial value // of a time series when transforming from cumulative to delta. -type InitialValueMode string +type InitialValueMode = datadogconfig.InitialValueMode const ( // InitialValueModeAuto reports the initial value if its start timestamp // is set and it happens after the process was started. - InitialValueModeAuto InitialValueMode = "auto" + InitialValueModeAuto InitialValueMode = datadogconfig.InitialValueModeAuto // InitialValueModeDrop always drops the initial value. - InitialValueModeDrop InitialValueMode = "drop" + InitialValueModeDrop InitialValueMode = datadogconfig.InitialValueModeDrop // InitialValueModeKeep always reports the initial value. - InitialValueModeKeep InitialValueMode = "keep" + InitialValueModeKeep InitialValueMode = datadogconfig.InitialValueModeKeep ) var _ encoding.TextUnmarshaler = (*InitialValueMode)(nil) -// UnmarshalText implements the encoding.TextUnmarshaler interface. -func (iv *InitialValueMode) UnmarshalText(in []byte) error { - switch mode := InitialValueMode(in); mode { - case InitialValueModeAuto, - InitialValueModeDrop, - InitialValueModeKeep: - *iv = mode - return nil - default: - return fmt.Errorf("invalid initial value mode %q", mode) - } -} - +// Deprecated: [v0.110.0] Use `datadogconfig.SumConfig` instead. // SumConfig customizes export of OTLP Sums. -type SumConfig struct { - // CumulativeMonotonicMode is the mode for exporting OTLP Cumulative Monotonic Sums. - // Valid values are 'to_delta' or 'raw_value'. - // - 'to_delta' calculates delta for cumulative monotonic sums and sends it as a Datadog count. - // - 'raw_value' sends the raw value of cumulative monotonic sums as Datadog gauges. - // - // The default is 'to_delta'. - // See https://docs.datadoghq.com/metrics/otlp/?tab=sum#mapping for details and examples. - CumulativeMonotonicMode CumulativeMonotonicSumMode `mapstructure:"cumulative_monotonic_mode"` - - // InitialCumulativeMonotonicMode defines the behavior of the exporter when receiving the first value - // of a cumulative monotonic sum. - InitialCumulativeMonotonicMode InitialValueMode `mapstructure:"initial_cumulative_monotonic_value"` -} +type SumConfig = datadogconfig.SumConfig +// Deprecated: [v0.110.0] Use `datadogconfig.SummaryMode` instead. // SummaryMode is the export mode for OTLP Summary metrics. -type SummaryMode string +type SummaryMode = datadogconfig.SummaryMode const ( // SummaryModeNoQuantiles sends no `.quantile` metrics. `.sum` and `.count` metrics will still be sent. - SummaryModeNoQuantiles SummaryMode = "noquantiles" + SummaryModeNoQuantiles SummaryMode = datadogconfig.SummaryModeNoQuantiles // SummaryModeGauges sends `.quantile` metrics as gauges tagged by the quantile. - SummaryModeGauges SummaryMode = "gauges" + SummaryModeGauges SummaryMode = datadogconfig.SummaryModeGauges ) var _ encoding.TextUnmarshaler = (*SummaryMode)(nil) -// UnmarshalText implements the encoding.TextUnmarshaler interface. -func (sm *SummaryMode) UnmarshalText(in []byte) error { - switch mode := SummaryMode(in); mode { - case SummaryModeNoQuantiles, - SummaryModeGauges: - *sm = mode - return nil - default: - return fmt.Errorf("invalid summary mode %q", mode) - } -} - +// Deprecated: [v0.110.0] Use `datadogconfig.SummaryMode` instead. // SummaryConfig customizes export of OTLP Summaries. -type SummaryConfig struct { - // Mode is the the mode for exporting OTLP Summaries. - // Valid values are 'noquantiles' or 'gauges'. - // - 'noquantiles' sends no `.quantile` metrics. `.sum` and `.count` metrics will still be sent. - // - 'gauges' sends `.quantile` metrics as gauges tagged by the quantile. - // - // The default is 'gauges'. - // See https://docs.datadoghq.com/metrics/otlp/?tab=summary#mapping for details and examples. - Mode SummaryMode `mapstructure:"mode"` -} +type SummaryConfig = datadogconfig.SummaryConfig +// Deprecated: [v0.110.0] Use `datadogconfig.MetricsExporterConfig` instead. // MetricsExporterConfig provides options for a user to customize the behavior of the // metrics exporter -type MetricsExporterConfig struct { - // ResourceAttributesAsTags, if set to true, will use the exporterhelper feature to transform all - // resource attributes into metric labels, which are then converted into tags - ResourceAttributesAsTags bool `mapstructure:"resource_attributes_as_tags"` - - // InstrumentationScopeMetadataAsTags, if set to true, adds the name and version of the - // instrumentation scope that created a metric to the metric tags - InstrumentationScopeMetadataAsTags bool `mapstructure:"instrumentation_scope_metadata_as_tags"` -} +type MetricsExporterConfig = datadogconfig.MetricsExporterConfig +// Deprecated: [v0.110.0] Use `datadogconfig.TracesExporterConfig` instead. // TracesConfig defines the traces exporter specific configuration options -type TracesConfig struct { - // TCPAddr.Endpoint is the host of the Datadog intake server to send traces to. - // If unset, the value is obtained from the Site. - confignet.TCPAddrConfig `mapstructure:",squash"` - - // ignored resources - // A blacklist of regular expressions can be provided to disable certain traces based on their resource name - // all entries must be surrounded by double quotes and separated by commas. - // ignore_resources: ["(GET|POST) /healthcheck"] - IgnoreResources []string `mapstructure:"ignore_resources"` - - // SpanNameRemappings is the map of datadog span names and preferred name to map to. This can be used to - // automatically map Datadog Span Operation Names to an updated value. All entries should be key/value pairs. - // span_name_remappings: - // io.opentelemetry.javaagent.spring.client: spring.client - // instrumentation:express.server: express - // go.opentelemetry.io_contrib_instrumentation_net_http_otelhttp.client: http.client - SpanNameRemappings map[string]string `mapstructure:"span_name_remappings"` - - // If set to true the OpenTelemetry span name will used in the Datadog resource name. - // If set to false the resource name will be filled with the instrumentation library name + span kind. - // The default value is `false`. - SpanNameAsResourceName bool `mapstructure:"span_name_as_resource_name"` - - // If set to true, enables an additional stats computation check on spans to see they have an eligible `span.kind` (server, consumer, client, producer). - // If enabled, a span with an eligible `span.kind` will have stats computed. If disabled, only top-level and measured spans will have stats computed. - // NOTE: For stats computed from OTel traces, only top-level spans are considered when this option is off. - // If you are sending OTel traces and want stats on non-top-level spans, this flag will need to be enabled. - // If you are sending OTel traces and do not want stats computed by span kind, you need to disable this flag and disable `compute_top_level_by_span_kind`. - ComputeStatsBySpanKind bool `mapstructure:"compute_stats_by_span_kind"` - - // If set to true, root spans and spans with a server or consumer `span.kind` will be marked as top-level. - // Additionally, spans with a client or producer `span.kind` will have stats computed. - // Enabling this config option may increase the number of spans that generate trace metrics, and may change which spans appear as top-level in Datadog. - // ComputeTopLevelBySpanKind needs to be enabled in both the Datadog connector and Datadog exporter configs if both components are being used. - // The default value is `false`. - ComputeTopLevelBySpanKind bool `mapstructure:"compute_top_level_by_span_kind"` - - // If set to true, enables `peer.service` aggregation in the exporter. If disabled, aggregated trace stats will not include `peer.service` as a dimension. - // For the best experience with `peer.service`, it is recommended to also enable `compute_stats_by_span_kind`. - // If enabling both causes the datadog exporter to consume too many resources, try disabling `compute_stats_by_span_kind` first. - // If the overhead remains high, it will be due to a high cardinality of `peer.service` values from the traces. You may need to check your instrumentation. - // Deprecated: Please use PeerTagsAggregation instead - PeerServiceAggregation bool `mapstructure:"peer_service_aggregation"` - - // If set to true, enables aggregation of peer related tags (e.g., `peer.service`, `db.instance`, etc.) in the datadog exporter. - // If disabled, aggregated trace stats will not include these tags as dimensions on trace metrics. - // For the best experience with peer tags, Datadog also recommends enabling `compute_stats_by_span_kind`. - // If you are using an OTel tracer, it's best to have both enabled because client/producer spans with relevant peer tags - // may not be marked by the datadog exporter as top-level spans. - // If enabling both causes the datadog exporter to consume too many resources, try disabling `compute_stats_by_span_kind` first. - // A high cardinality of peer tags or APM resources can also contribute to higher CPU and memory consumption. - // You can check for the cardinality of these fields by making trace search queries in the Datadog UI. - // The default list of peer tags can be found in https://github.com/DataDog/datadog-agent/blob/main/pkg/trace/stats/concentrator.go. - PeerTagsAggregation bool `mapstructure:"peer_tags_aggregation"` - - // [BETA] Optional list of supplementary peer tags that go beyond the defaults. The Datadog backend validates all tags - // and will drop ones that are unapproved. The default set of peer tags can be found at - // https://github.com/DataDog/datadog-agent/blob/505170c4ac8c3cbff1a61cf5f84b28d835c91058/pkg/trace/stats/concentrator.go#L55. - PeerTags []string `mapstructure:"peer_tags"` - - // TraceBuffer specifies the number of Datadog Agent TracerPayloads to buffer before dropping. - // The default value is 0, meaning the Datadog Agent TracerPayloads are unbuffered. - TraceBuffer int `mapstructure:"trace_buffer"` - - // flushInterval defines the interval in seconds at which the writer flushes traces - // to the intake; used in tests. - flushInterval float64 -} +type TracesConfig = datadogconfig.TracesExporterConfig +// Deprecated: [v0.110.0] Use `datadogconfig.LogsConfig` instead. // LogsConfig defines logs exporter specific configuration -type LogsConfig struct { - // TCPAddr.Endpoint is the host of the Datadog intake server to send logs to. - // If unset, the value is obtained from the Site. - confignet.TCPAddrConfig `mapstructure:",squash"` - - // DumpPayloads report whether payloads should be dumped when logging level is debug. - // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is enabled (now enabled by default). - // Deprecated: This config option is not supported in the Datadog Agent logs pipeline. - DumpPayloads bool `mapstructure:"dump_payloads"` - - // UseCompression enables the logs agent to compress logs before sending them. - // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is disabled. - UseCompression bool `mapstructure:"use_compression"` - - // CompressionLevel accepts values from 0 (no compression) to 9 (maximum compression but higher resource usage). - // Only takes effect if UseCompression is set to true. - // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is disabled. - CompressionLevel int `mapstructure:"compression_level"` - - // BatchWait represents the maximum time the logs agent waits to fill each batch of logs before sending. - // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is disabled. - BatchWait int `mapstructure:"batch_wait"` -} +type LogsConfig = datadogconfig.LogsConfig +// Deprecated: [v0.110.0] Use `datadogconfig.TagsConfig` instead. // TagsConfig defines the tag-related configuration // It is embedded in the configuration -type TagsConfig struct { - // Hostname is the fallback hostname used for payloads without hostname-identifying attributes. - // This option will NOT change the hostname applied to your metrics, traces and logs if they already have hostname-identifying attributes. - // If unset, the hostname will be determined automatically. See https://docs.datadoghq.com/opentelemetry/schema_semantics/hostname/?tab=datadogexporter#fallback-hostname-logic for details. - // - // Prefer using the `datadog.host.name` resource attribute over using this setting. - // See https://docs.datadoghq.com/opentelemetry/schema_semantics/hostname/?tab=datadogexporter#general-hostname-semantic-conventions for details. - Hostname string `mapstructure:"hostname"` -} +type TagsConfig = datadogconfig.TagsConfig +// Deprecated: [v0.110.0] Use `datadogconfig.HostnameSource` instead. // HostnameSource is the source for the hostname of host metadata. -type HostnameSource string +type HostnameSource = datadogconfig.HostnameSource const ( + // Deprecated: [v0.110.0] Use `datadogconfig.HostnameSource` instead. // HostnameSourceFirstResource picks the host metadata hostname from the resource // attributes on the first OTLP payload that gets to the exporter. If it is lacking any // hostname-like attributes, it will fallback to 'config_or_system' behavior (see below). // // Do not use this hostname source if receiving data from multiple hosts. - HostnameSourceFirstResource HostnameSource = "first_resource" + HostnameSourceFirstResource HostnameSource = datadogconfig.HostnameSourceFirstResource + // Deprecated: [v0.110.0] Use `datadogconfig.HostnameSource` instead. // HostnameSourceConfigOrSystem picks the host metadata hostname from the 'hostname' setting, // and if this is empty, from available system APIs and cloud provider endpoints. - HostnameSourceConfigOrSystem HostnameSource = "config_or_system" + HostnameSourceConfigOrSystem HostnameSource = datadogconfig.HostnameSourceConfigOrSystem ) var _ encoding.TextUnmarshaler = (*HostnameSource)(nil) -// UnmarshalText implements the encoding.TextUnmarshaler interface. -func (sm *HostnameSource) UnmarshalText(in []byte) error { - switch mode := HostnameSource(in); mode { - case HostnameSourceFirstResource, - HostnameSourceConfigOrSystem: - *sm = mode - return nil - default: - return fmt.Errorf("invalid host metadata hostname source %q", mode) - } -} - +// Deprecated: [v0.110.0] Use `datadogconfig.HostMetadataConfig` instead. // HostMetadataConfig defines the host metadata related configuration. // Host metadata is the information used for populating the infrastructure list, // the host map and providing host tags functionality. // // The exporter will send host metadata for a single host, whose name is chosen // according to `host_metadata::hostname_source`. -type HostMetadataConfig struct { - // Enabled enables the host metadata functionality. - Enabled bool `mapstructure:"enabled"` - - // HostnameSource is the source for the hostname of host metadata. - // This hostname is used for identifying the infrastructure list, host map and host tag information related to the host where the Datadog exporter is running. - // Changing this setting will not change the host used to tag your metrics, traces and logs in any way. - // For remote hosts, see https://docs.datadoghq.com/opentelemetry/schema_semantics/host_metadata/. - // - // Valid values are 'first_resource' and 'config_or_system': - // - 'first_resource' picks the host metadata hostname from the resource - // attributes on the first OTLP payload that gets to the exporter. - // If the first payload lacks hostname-like attributes, it will fallback to 'config_or_system'. - // **Do not use this hostname source if receiving data from multiple hosts**. - // - 'config_or_system' picks the host metadata hostname from the 'hostname' setting, - // If this is empty it will use available system APIs and cloud provider endpoints. - // - // The default is 'config_or_system'. - HostnameSource HostnameSource `mapstructure:"hostname_source"` - - // Tags is a list of host tags. - // These tags will be attached to telemetry signals that have the host metadata hostname. - // To attach tags to telemetry signals regardless of the host, use a processor instead. - Tags []string `mapstructure:"tags"` - - // sourceTimeout is the timeout to fetch from each provider - for example AWS IMDS. - // If unset, or set to zero duration, there will be no timeout applied. - // Default is no timeout. - sourceTimeout time.Duration -} +type HostMetadataConfig = datadogconfig.HostMetadataConfig +// Deprecated: [v0.110.0] Use `datadogconfig.Config` instead. // Config defines configuration for the Datadog exporter. -type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - - TagsConfig `mapstructure:",squash"` - - // API defines the Datadog API configuration. - API APIConfig `mapstructure:"api"` - - // Metrics defines the Metrics exporter specific configuration - Metrics MetricsConfig `mapstructure:"metrics"` - - // Traces defines the Traces exporter specific configuration - Traces TracesConfig `mapstructure:"traces"` - - // Logs defines the Logs exporter specific configuration - Logs LogsConfig `mapstructure:"logs"` - - // HostMetadata defines the host metadata specific configuration - HostMetadata HostMetadataConfig `mapstructure:"host_metadata"` - - // OnlyMetadata defines whether to only send metadata - // This is useful for agent-collector setups, so that - // metadata about a host is sent to the backend even - // when telemetry data is reported via a different host. - // - // This flag is incompatible with disabling host metadata, - // `use_resource_metadata`, or `host_metadata::hostname_source != first_resource` - OnlyMetadata bool `mapstructure:"only_metadata"` - - // Non-fatal warnings found during configuration loading. - warnings []error -} - -// logWarnings logs warning messages that were generated on unmarshaling. -func (c *Config) logWarnings(logger *zap.Logger) { - for _, err := range c.warnings { - logger.Warn(fmt.Sprintf("%v", err)) - } -} +type Config = datadogconfig.Config var _ component.Config = (*Config)(nil) -// Validate the configuration for errors. This is required by component.Config. -func (c *Config) Validate() error { - if err := validateClientConfig(c.ClientConfig); err != nil { - return err - } - - if c.OnlyMetadata && (!c.HostMetadata.Enabled || c.HostMetadata.HostnameSource != HostnameSourceFirstResource) { - return errNoMetadata - } - - if err := validate.ValidHostname(c.Hostname); c.Hostname != "" && err != nil { - return fmt.Errorf("hostname field is invalid: %w", err) - } - - if c.API.Key == "" { - return errUnsetAPIKey - } - - if c.Traces.IgnoreResources != nil { - for _, entry := range c.Traces.IgnoreResources { - _, err := regexp.Compile(entry) - if err != nil { - return fmt.Errorf("'%s' is not valid resource filter regular expression", entry) - } - } - } - - if c.Traces.SpanNameRemappings != nil { - for key, value := range c.Traces.SpanNameRemappings { - if value == "" { - return fmt.Errorf("'%s' is not valid value for span name remapping", value) - } - if key == "" { - return fmt.Errorf("'%s' is not valid key for span name remapping", key) - } - } - } - - err := c.Metrics.HistConfig.validate() - if err != nil { - return err - } - - return nil -} - -func validateClientConfig(cfg confighttp.ClientConfig) error { - var unsupported []string - if cfg.Auth != nil { - unsupported = append(unsupported, "auth") - } - if cfg.Endpoint != "" { - unsupported = append(unsupported, "endpoint") - } - if cfg.Compression != "" { - unsupported = append(unsupported, "compression") - } - if cfg.Headers != nil { - unsupported = append(unsupported, "headers") - } - if cfg.HTTP2ReadIdleTimeout != 0 { - unsupported = append(unsupported, "http2_read_idle_timeout") - } - if cfg.HTTP2PingTimeout != 0 { - unsupported = append(unsupported, "http2_ping_timeout") - } - - if len(unsupported) > 0 { - return fmt.Errorf("these confighttp client configs are currently not respected by Datadog exporter: %s", strings.Join(unsupported, ", ")) - } - return nil -} - -var _ error = (*renameError)(nil) - -// renameError is an error related to a renamed setting. -type renameError struct { - // oldName of the configuration option. - oldName string - // newName of the configuration option. - newName string - // issueNumber on opentelemetry-collector-contrib for tracking - issueNumber uint -} - -// List of settings that have been removed, but for which we keep a custom error. -var removedSettings = []renameError{ - { - oldName: "metrics::send_monotonic_counter", - newName: "metrics::sums::cumulative_monotonic_mode", - issueNumber: 8489, - }, - { - oldName: "tags", - newName: "host_metadata::tags", - issueNumber: 9099, - }, - { - oldName: "send_metadata", - newName: "host_metadata::enabled", - issueNumber: 9099, - }, - { - oldName: "use_resource_metadata", - newName: "host_metadata::hostname_source", - issueNumber: 9099, - }, - { - oldName: "metrics::report_quantiles", - newName: "metrics::summaries::mode", - issueNumber: 8845, - }, - { - oldName: "metrics::instrumentation_library_metadata_as_tags", - newName: "metrics::instrumentation_scope_as_tags", - issueNumber: 11135, - }, -} - -// Error implements the error interface. -func (e renameError) Error() string { - return fmt.Sprintf( - "%q was removed in favor of %q. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/%d", - e.oldName, - e.newName, - e.issueNumber, - ) -} - -func handleRemovedSettings(configMap *confmap.Conf) error { - var errs []error - for _, removedErr := range removedSettings { - if configMap.IsSet(removedErr.oldName) { - errs = append(errs, removedErr) - } - } - - return errors.Join(errs...) -} - var _ confmap.Unmarshaler = (*Config)(nil) - -// Unmarshal a configuration map into the configuration struct. -func (c *Config) Unmarshal(configMap *confmap.Conf) error { - if err := handleRemovedSettings(configMap); err != nil { - return err - } - - err := configMap.Unmarshal(c) - if err != nil { - return err - } - - // Add deprecation warnings for deprecated settings. - renamingWarnings, err := handleRenamedSettings(configMap, c) - if err != nil { - return err - } - c.warnings = append(c.warnings, renamingWarnings...) - - c.API.Key = configopaque.String(strings.TrimSpace(string(c.API.Key))) - - // If an endpoint is not explicitly set, override it based on the site. - if !configMap.IsSet("metrics::endpoint") { - c.Metrics.TCPAddrConfig.Endpoint = fmt.Sprintf("https://api.%s", c.API.Site) - } - if !configMap.IsSet("traces::endpoint") { - c.Traces.TCPAddrConfig.Endpoint = fmt.Sprintf("https://trace.agent.%s", c.API.Site) - } - if !configMap.IsSet("logs::endpoint") { - c.Logs.TCPAddrConfig.Endpoint = fmt.Sprintf("https://http-intake.logs.%s", c.API.Site) - } - - // Return an error if an endpoint is explicitly set to "" - if c.Metrics.TCPAddrConfig.Endpoint == "" || c.Traces.TCPAddrConfig.Endpoint == "" || c.Logs.TCPAddrConfig.Endpoint == "" { - return errEmptyEndpoint - } - - const ( - initialValueSetting = "metrics::sums::initial_cumulative_monotonic_value" - cumulMonoMode = "metrics::sums::cumulative_monotonic_mode" - ) - if configMap.IsSet(initialValueSetting) && c.Metrics.SumConfig.CumulativeMonotonicMode != CumulativeMonotonicSumModeToDelta { - return fmt.Errorf("%q can only be configured when %q is set to %q", - initialValueSetting, cumulMonoMode, CumulativeMonotonicSumModeToDelta) - } - - logsExporterSettings := []struct { - setting string - valid bool - }{ - {setting: "logs::dump_payloads", valid: !isLogsAgentExporterEnabled()}, - {setting: "logs::use_compression", valid: isLogsAgentExporterEnabled()}, - {setting: "logs::compression_level", valid: isLogsAgentExporterEnabled()}, - {setting: "logs::batch_wait", valid: isLogsAgentExporterEnabled()}, - } - for _, logsExporterSetting := range logsExporterSettings { - if configMap.IsSet(logsExporterSetting.setting) && !logsExporterSetting.valid { - enabledText := "enabled" - if !isLogsAgentExporterEnabled() { - enabledText = "disabled" - } - return fmt.Errorf("%v is not valid when the exporter.datadogexporter.UseLogsAgentExporter feature gate is %v", logsExporterSetting.setting, enabledText) - } - if logsExporterSetting.setting == "logs::dump_payloads" && logsExporterSetting.valid && configMap.IsSet(logsExporterSetting.setting) { - c.warnings = append(c.warnings, fmt.Errorf("%v is deprecated and will raise an error if set when the Datadog Agent logs pipeline is enabled by default in collector version v0.108.0", logsExporterSetting.setting)) - } - } - - return nil -} diff --git a/exporter/datadogexporter/config_test.go b/exporter/datadogexporter/config_test.go index 3d02e6f402f8..d9dd1f42f9e1 100644 --- a/exporter/datadogexporter/config_test.go +++ b/exporter/datadogexporter/config_test.go @@ -8,171 +8,10 @@ import ( "time" "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/configauth" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configtls" "go.opentelemetry.io/collector/confmap" -) - -func TestValidate(t *testing.T) { - idleConnTimeout := 30 * time.Second - maxIdleConn := 300 - maxIdleConnPerHost := 150 - maxConnPerHost := 250 - ty, err := component.NewType("ty") - assert.NoError(t, err) - auth := configauth.Authentication{AuthenticatorID: component.NewID(ty)} - - tests := []struct { - name string - cfg *Config - err string - }{ - { - name: "no api::key", - cfg: &Config{}, - err: errUnsetAPIKey.Error(), - }, - { - name: "invalid hostname", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - TagsConfig: TagsConfig{Hostname: "invalid_host"}, - }, - err: "hostname field is invalid: invalid_host is not RFC1123 compliant", - }, - { - name: "no metadata", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - OnlyMetadata: true, - HostMetadata: HostMetadataConfig{Enabled: false}, - }, - err: errNoMetadata.Error(), - }, - { - name: "span name remapping valid", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Traces: TracesConfig{SpanNameRemappings: map[string]string{"old.opentelemetryspan.name": "updated.name"}}, - }, - }, - { - name: "span name remapping empty val", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Traces: TracesConfig{SpanNameRemappings: map[string]string{"oldname": ""}}, - }, - err: "'' is not valid value for span name remapping", - }, - { - name: "span name remapping empty key", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Traces: TracesConfig{SpanNameRemappings: map[string]string{"": "newname"}}, - }, - err: "'' is not valid key for span name remapping", - }, - { - name: "ignore resources valid", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Traces: TracesConfig{IgnoreResources: []string{"[123]"}}, - }, - }, - { - name: "ignore resources missing bracket", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Traces: TracesConfig{IgnoreResources: []string{"[123"}}, - }, - err: "'[123' is not valid resource filter regular expression", - }, - { - name: "invalid histogram settings", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Metrics: MetricsConfig{ - HistConfig: HistogramConfig{ - Mode: HistogramModeNoBuckets, - SendAggregations: false, - }, - }, - }, - err: "'nobuckets' mode and `send_aggregation_metrics` set to false will send no histogram metrics", - }, - { - name: "TLS settings are valid", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - ClientConfig: confighttp.ClientConfig{ - TLSSetting: configtls.ClientConfig{ - InsecureSkipVerify: true, - }, - }, - }, - }, - { - name: "With trace_buffer", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Traces: TracesConfig{TraceBuffer: 10}, - }, - }, - { - name: "With peer_tags", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - Traces: TracesConfig{PeerTags: []string{"tag1", "tag2"}}, - }, - }, - { - name: "With confighttp client configs", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - ClientConfig: confighttp.ClientConfig{ - ReadBufferSize: 100, - WriteBufferSize: 200, - Timeout: 10 * time.Second, - IdleConnTimeout: &idleConnTimeout, - MaxIdleConns: &maxIdleConn, - MaxIdleConnsPerHost: &maxIdleConnPerHost, - MaxConnsPerHost: &maxConnPerHost, - DisableKeepAlives: true, - TLSSetting: configtls.ClientConfig{InsecureSkipVerify: true}, - }, - }, - }, - { - name: "unsupported confighttp client configs", - cfg: &Config{ - API: APIConfig{Key: "notnull"}, - ClientConfig: confighttp.ClientConfig{ - Endpoint: "endpoint", - Compression: "gzip", - Auth: &auth, - Headers: map[string]configopaque.String{"key": "val"}, - HTTP2ReadIdleTimeout: 250, - HTTP2PingTimeout: 200, - }, - }, - err: "these confighttp client configs are currently not respected by Datadog exporter: auth, endpoint, compression, headers, http2_read_idle_timeout, http2_ping_timeout", - }, - } - for _, testInstance := range tests { - t.Run(testInstance.name, func(t *testing.T) { - err := testInstance.cfg.Validate() - if testInstance.err != "" { - assert.EqualError(t, err, testInstance.err) - } else { - assert.NoError(t, err) - } - }) - } -} + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" +) func TestUnmarshal(t *testing.T) { cfgWithHTTPConfigs := NewFactory().CreateDefaultConfig().(*Config) @@ -189,7 +28,6 @@ func TestUnmarshal(t *testing.T) { cfgWithHTTPConfigs.IdleConnTimeout = &idleConnTimeout cfgWithHTTPConfigs.DisableKeepAlives = true cfgWithHTTPConfigs.TLSSetting.InsecureSkipVerify = true - cfgWithHTTPConfigs.warnings = nil tests := []struct { name string @@ -287,7 +125,7 @@ func TestUnmarshal(t *testing.T) { "endpoint": "", }, }), - err: errEmptyEndpoint.Error(), + err: datadogconfig.ErrEmptyEndpoint.Error(), }, { name: "Empty trace endpoint", @@ -296,7 +134,7 @@ func TestUnmarshal(t *testing.T) { "endpoint": "", }, }), - err: errEmptyEndpoint.Error(), + err: datadogconfig.ErrEmptyEndpoint.Error(), }, { name: "Empty log endpoint", @@ -305,7 +143,7 @@ func TestUnmarshal(t *testing.T) { "endpoint": "", }, }), - err: errEmptyEndpoint.Error(), + err: datadogconfig.ErrEmptyEndpoint.Error(), }, { name: "invalid initial cumulative monotonic value mode", diff --git a/exporter/datadogexporter/factory.go b/exporter/datadogexporter/factory.go index dd6acd25ce99..3339a03cf293 100644 --- a/exporter/datadogexporter/factory.go +++ b/exporter/datadogexporter/factory.go @@ -22,7 +22,6 @@ import ( "github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/source" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/confignet" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/exporter" @@ -37,6 +36,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/internal/hostmetadata" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/internal/metadata" + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry" ) @@ -53,6 +53,13 @@ var metricExportNativeClientFeatureGate = featuregate.GlobalRegistry().MustRegis featuregate.WithRegisterDescription("When enabled, metric export in datadogexporter uses native Datadog client APIs instead of Zorkian APIs."), ) +var metricRemappingDisableddFeatureGate = featuregate.GlobalRegistry().MustRegister( + "exporter.datadogexporter.metricremappingdisabled", + featuregate.StageAlpha, + featuregate.WithRegisterDescription("When enabled the Datadog Exporter remaps OpenTelemetry semantic conventions to Datadog semantic conventions. This feature gate is only for internal use."), + featuregate.WithRegisterReferenceURL("https://docs.datadoghq.com/opentelemetry/schema_semantics/metrics_mapping/"), +) + // noAPMStatsFeatureGate causes the trace consumer to skip APM stats computation. var noAPMStatsFeatureGate = featuregate.GlobalRegistry().MustRegister( "exporter.datadogexporter.DisableAPMStats", @@ -65,6 +72,11 @@ func isMetricExportV2Enabled() bool { return metricExportNativeClientFeatureGate.IsEnabled() } +// isMetricRemappingDisabled returns true if the datadogexporter should generate Datadog-compliant metrics from OpenTelemetry metrics +func isMetricRemappingDisabled() bool { + return metricRemappingDisableddFeatureGate.IsEnabled() +} + func isLogsAgentExporterEnabled() bool { return logsAgentExporterFeatureGate.IsEnabled() } @@ -178,66 +190,14 @@ func NewFactory() exporter.Factory { } func defaultClientConfig() confighttp.ClientConfig { - // do not use NewDefaultClientConfig for backwards-compatibility - return confighttp.ClientConfig{ - Timeout: 15 * time.Second, - } + client := confighttp.NewDefaultClientConfig() + client.Timeout = 15 * time.Second + return client } // createDefaultConfig creates the default exporter configuration func (f *factory) createDefaultConfig() component.Config { - return &Config{ - ClientConfig: defaultClientConfig(), - BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - - API: APIConfig{ - Site: "datadoghq.com", - }, - - Metrics: MetricsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://api.datadoghq.com", - }, - DeltaTTL: 3600, - ExporterConfig: MetricsExporterConfig{ - ResourceAttributesAsTags: false, - InstrumentationScopeMetadataAsTags: false, - }, - HistConfig: HistogramConfig{ - Mode: "distributions", - SendAggregations: false, - }, - SumConfig: SumConfig{ - CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, - InitialCumulativeMonotonicMode: InitialValueModeAuto, - }, - SummaryConfig: SummaryConfig{ - Mode: SummaryModeGauges, - }, - }, - - Traces: TracesConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://trace.agent.datadoghq.com", - }, - IgnoreResources: []string{}, - }, - - Logs: LogsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://http-intake.logs.datadoghq.com", - }, - UseCompression: true, - CompressionLevel: 6, - BatchWait: 5, - }, - - HostMetadata: HostMetadataConfig{ - Enabled: true, - HostnameSource: HostnameSourceConfigOrSystem, - }, - } + return datadogconfig.CreateDefaultConfig() } // checkAndCastConfig checks the configuration type and its warnings, and casts it to @@ -247,7 +207,7 @@ func checkAndCastConfig(c component.Config, logger *zap.Logger) *Config { if !ok { panic("programming error: config structure is not of type *datadogexporter.Config") } - cfg.logWarnings(logger) + cfg.LogWarnings(logger) return cfg } @@ -289,7 +249,7 @@ func (f *factory) createMetricsExporter( c component.Config, ) (exporter.Metrics, error) { cfg := checkAndCastConfig(c, set.TelemetrySettings.Logger) - hostProvider, err := f.SourceProvider(set.TelemetrySettings, cfg.Hostname, cfg.HostMetadata.sourceTimeout) + hostProvider, err := f.SourceProvider(set.TelemetrySettings, cfg.Hostname, cfg.HostMetadata.GetSourceTimeout()) if err != nil { return nil, fmt.Errorf("failed to build hostname provider: %w", err) } @@ -358,13 +318,13 @@ func (f *factory) createMetricsExporter( pushMetricsFn = exp.PushMetricsDataScrubbed } - exporter, err := exporterhelper.NewMetricsExporter( + exporter, err := exporterhelper.NewMetrics( ctx, set, cfg, pushMetricsFn, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0 * time.Second}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0 * time.Second}), // We use our own custom mechanism for retries, since we hit several endpoints. exporterhelper.WithRetry(configretry.BackOffConfig{Enabled: false}), // The metrics remapping code mutates data @@ -409,7 +369,7 @@ func (f *factory) createTracesExporter( wg sync.WaitGroup // waits for agent to exit ) - hostProvider, err := f.SourceProvider(set.TelemetrySettings, cfg.Hostname, cfg.HostMetadata.sourceTimeout) + hostProvider, err := f.SourceProvider(set.TelemetrySettings, cfg.Hostname, cfg.HostMetadata.GetSourceTimeout()) if err != nil { return nil, fmt.Errorf("failed to build hostname provider: %w", err) } @@ -472,13 +432,13 @@ func (f *factory) createTracesExporter( } } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, pusher, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0 * time.Second}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0 * time.Second}), // We don't do retries on traces because of deduping concerns on APM Events. exporterhelper.WithRetry(configretry.BackOffConfig{Enabled: false}), exporterhelper.WithQueue(cfg.QueueSettings), @@ -494,9 +454,22 @@ func (f *factory) createLogsExporter( ) (exporter.Logs, error) { cfg := checkAndCastConfig(c, set.TelemetrySettings.Logger) + if cfg.Logs.DumpPayloads && isLogsAgentExporterEnabled() { + set.Logger.Warn("logs::dump_payloads is not valid when the exporter.datadogexporter.UseLogsAgentExporter feature gate is enabled") + } + if cfg.Logs.UseCompression && !isLogsAgentExporterEnabled() { + set.Logger.Warn("logs::use_compression is not valid when the exporter.datadogexporter.UseLogsAgentExporter feature gate is disabled") + } + if cfg.Logs.CompressionLevel != 0 && !isLogsAgentExporterEnabled() { + set.Logger.Warn("logs::compression_level is not valid when the exporter.datadogexporter.UseLogsAgentExporter feature gate is disabled") + } + if cfg.Logs.BatchWait != 0 && !isLogsAgentExporterEnabled() { + set.Logger.Warn("logs::batch_wait is not valid when the exporter.datadogexporter.UseLogsAgentExporter feature gate is disabled") + } + var pusher consumer.ConsumeLogsFunc var logsAgent logsagentpipeline.LogsAgent - hostProvider, err := f.SourceProvider(set.TelemetrySettings, cfg.Hostname, cfg.HostMetadata.sourceTimeout) + hostProvider, err := f.SourceProvider(set.TelemetrySettings, cfg.Hostname, cfg.HostMetadata.GetSourceTimeout()) if err != nil { return nil, fmt.Errorf("failed to build hostname provider: %w", err) } @@ -546,13 +519,13 @@ func (f *factory) createLogsExporter( } pusher = exp.consumeLogs } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, pusher, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0 * time.Second}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0 * time.Second}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithShutdown(func(context.Context) error { diff --git a/exporter/datadogexporter/factory_test.go b/exporter/datadogexporter/factory_test.go index 29da32051e91..dbbe53b183c4 100644 --- a/exporter/datadogexporter/factory_test.go +++ b/exporter/datadogexporter/factory_test.go @@ -16,7 +16,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/confignet" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/confmap/confmaptest" @@ -66,350 +65,6 @@ func (p *testPusher) Payloads() []payload.HostMetadata { return p.payloads } -// Test that the factory creates the default configuration -func TestCreateDefaultConfig(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - assert.Equal(t, &Config{ - ClientConfig: defaultClientConfig(), - BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - - API: APIConfig{ - Site: "datadoghq.com", - }, - - Metrics: MetricsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://api.datadoghq.com", - }, - DeltaTTL: 3600, - HistConfig: HistogramConfig{ - Mode: "distributions", - SendAggregations: false, - }, - SumConfig: SumConfig{ - CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, - InitialCumulativeMonotonicMode: InitialValueModeAuto, - }, - SummaryConfig: SummaryConfig{ - Mode: SummaryModeGauges, - }, - }, - - Traces: TracesConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://trace.agent.datadoghq.com", - }, - IgnoreResources: []string{}, - }, - Logs: LogsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://http-intake.logs.datadoghq.com", - }, - UseCompression: true, - CompressionLevel: 6, - BatchWait: 5, - }, - - HostMetadata: HostMetadataConfig{ - Enabled: true, - HostnameSource: HostnameSourceConfigOrSystem, - }, - OnlyMetadata: false, - }, cfg, "failed to create default config") - - assert.NoError(t, componenttest.CheckConfigStruct(cfg)) -} - -func TestLoadConfig(t *testing.T) { - t.Parallel() - - cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) - require.NoError(t, err) - - tests := []struct { - id component.ID - expected component.Config - }{ - { - id: component.NewIDWithName(metadata.Type, "default"), - expected: &Config{ - ClientConfig: defaultClientConfig(), - BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - API: APIConfig{ - Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - Site: "datadoghq.com", - FailOnInvalidKey: false, - }, - - Metrics: MetricsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://api.datadoghq.com", - }, - DeltaTTL: 3600, - HistConfig: HistogramConfig{ - Mode: "distributions", - SendAggregations: false, - }, - SumConfig: SumConfig{ - CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, - InitialCumulativeMonotonicMode: InitialValueModeAuto, - }, - SummaryConfig: SummaryConfig{ - Mode: SummaryModeGauges, - }, - }, - - Traces: TracesConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://trace.agent.datadoghq.com", - }, - IgnoreResources: []string{}, - }, - Logs: LogsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://http-intake.logs.datadoghq.com", - }, - UseCompression: true, - CompressionLevel: 6, - BatchWait: 5, - }, - HostMetadata: HostMetadataConfig{ - Enabled: true, - HostnameSource: HostnameSourceConfigOrSystem, - }, - OnlyMetadata: false, - }, - }, - { - id: component.NewIDWithName(metadata.Type, "api"), - expected: &Config{ - ClientConfig: defaultClientConfig(), - BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TagsConfig: TagsConfig{ - Hostname: "customhostname", - }, - API: APIConfig{ - Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - Site: "datadoghq.eu", - FailOnInvalidKey: true, - }, - Metrics: MetricsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://api.datadoghq.eu", - }, - DeltaTTL: 3600, - HistConfig: HistogramConfig{ - Mode: "distributions", - SendAggregations: false, - }, - SumConfig: SumConfig{ - CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, - InitialCumulativeMonotonicMode: InitialValueModeAuto, - }, - SummaryConfig: SummaryConfig{ - Mode: SummaryModeGauges, - }, - }, - Traces: TracesConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://trace.agent.datadoghq.eu", - }, - SpanNameRemappings: map[string]string{ - "old_name1": "new_name1", - "old_name2": "new_name2", - }, - SpanNameAsResourceName: true, - IgnoreResources: []string{}, - TraceBuffer: 10, - }, - Logs: LogsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://http-intake.logs.datadoghq.eu", - }, - UseCompression: true, - CompressionLevel: 6, - BatchWait: 5, - }, - OnlyMetadata: false, - HostMetadata: HostMetadataConfig{ - Enabled: true, - HostnameSource: HostnameSourceConfigOrSystem, - }, - }, - }, - { - id: component.NewIDWithName(metadata.Type, "api2"), - expected: &Config{ - ClientConfig: defaultClientConfig(), - BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TagsConfig: TagsConfig{ - Hostname: "customhostname", - }, - API: APIConfig{ - Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - Site: "datadoghq.eu", - FailOnInvalidKey: false, - }, - Metrics: MetricsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://api.datadoghq.test", - }, - DeltaTTL: 3600, - HistConfig: HistogramConfig{ - Mode: "distributions", - SendAggregations: false, - }, - SumConfig: SumConfig{ - CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, - InitialCumulativeMonotonicMode: InitialValueModeAuto, - }, - SummaryConfig: SummaryConfig{ - Mode: SummaryModeGauges, - }, - }, - Traces: TracesConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://trace.agent.datadoghq.test", - }, - SpanNameRemappings: map[string]string{ - "old_name3": "new_name3", - "old_name4": "new_name4", - }, - IgnoreResources: []string{}, - }, - Logs: LogsConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: "https://http-intake.logs.datadoghq.test", - }, - UseCompression: true, - CompressionLevel: 6, - BatchWait: 5, - }, - HostMetadata: HostMetadataConfig{ - Enabled: true, - HostnameSource: HostnameSourceConfigOrSystem, - Tags: []string{"example:tag"}, - }, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.id.String(), func(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - sub, err := cm.Sub(tt.id.String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - assert.NoError(t, component.ValidateConfig(cfg)) - assert.Equal(t, tt.expected, cfg) - }) - } -} - -func TestOverrideEndpoints(t *testing.T) { - tests := []struct { - componentID string - expectedSite string - expectedMetricsEndpoint string - expectedTracesEndpoint string - expectedLogsEndpoint string - }{ - { - componentID: "nositeandnoendpoints", - expectedSite: "datadoghq.com", - expectedMetricsEndpoint: "https://api.datadoghq.com", - expectedTracesEndpoint: "https://trace.agent.datadoghq.com", - expectedLogsEndpoint: "https://http-intake.logs.datadoghq.com", - }, - { - componentID: "nositeandmetricsendpoint", - expectedSite: "datadoghq.com", - expectedMetricsEndpoint: "metricsendpoint:1234", - expectedTracesEndpoint: "https://trace.agent.datadoghq.com", - expectedLogsEndpoint: "https://http-intake.logs.datadoghq.com", - }, - { - componentID: "nositeandtracesendpoint", - expectedSite: "datadoghq.com", - expectedMetricsEndpoint: "https://api.datadoghq.com", - expectedTracesEndpoint: "tracesendpoint:1234", - expectedLogsEndpoint: "https://http-intake.logs.datadoghq.com", - }, - { - componentID: "nositeandlogsendpoint", - expectedSite: "datadoghq.com", - expectedMetricsEndpoint: "https://api.datadoghq.com", - expectedTracesEndpoint: "https://trace.agent.datadoghq.com", - expectedLogsEndpoint: "logsendpoint:1234", - }, - { - componentID: "nositeandallendpoints", - expectedSite: "datadoghq.com", - expectedMetricsEndpoint: "metricsendpoint:1234", - expectedTracesEndpoint: "tracesendpoint:1234", - expectedLogsEndpoint: "logsendpoint:1234", - }, - - { - componentID: "siteandnoendpoints", - expectedSite: "datadoghq.eu", - expectedMetricsEndpoint: "https://api.datadoghq.eu", - expectedTracesEndpoint: "https://trace.agent.datadoghq.eu", - expectedLogsEndpoint: "https://http-intake.logs.datadoghq.eu", - }, - { - componentID: "siteandmetricsendpoint", - expectedSite: "datadoghq.eu", - expectedMetricsEndpoint: "metricsendpoint:1234", - expectedTracesEndpoint: "https://trace.agent.datadoghq.eu", - expectedLogsEndpoint: "https://http-intake.logs.datadoghq.eu", - }, - { - componentID: "siteandtracesendpoint", - expectedSite: "datadoghq.eu", - expectedMetricsEndpoint: "https://api.datadoghq.eu", - expectedTracesEndpoint: "tracesendpoint:1234", - expectedLogsEndpoint: "https://http-intake.logs.datadoghq.eu", - }, - { - componentID: "siteandallendpoints", - expectedSite: "datadoghq.eu", - expectedMetricsEndpoint: "metricsendpoint:1234", - expectedTracesEndpoint: "tracesendpoint:1234", - expectedLogsEndpoint: "logsendpoint:1234", - }, - } - - cm, err := confmaptest.LoadConf(filepath.Join("testdata", "unmarshal.yaml")) - require.NoError(t, err) - factory := NewFactory() - - for _, testInstance := range tests { - t.Run(testInstance.componentID, func(t *testing.T) { - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub(component.NewIDWithName(metadata.Type, testInstance.componentID).String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - componentCfg, ok := cfg.(*Config) - require.True(t, ok, "component.Config is not a Datadog exporter config (wrong ID?)") - assert.Equal(t, testInstance.expectedSite, componentCfg.API.Site) - assert.Equal(t, testInstance.expectedMetricsEndpoint, componentCfg.Metrics.Endpoint) - assert.Equal(t, testInstance.expectedTracesEndpoint, componentCfg.Traces.Endpoint) - assert.Equal(t, testInstance.expectedLogsEndpoint, componentCfg.Logs.Endpoint) - }) - } -} - func TestCreateAPIMetricsExporter(t *testing.T) { server := testutil.DatadogServerMock() defer server.Close() @@ -428,7 +83,7 @@ func TestCreateAPIMetricsExporter(t *testing.T) { c.HostMetadata.Enabled = false ctx := context.Background() - exp, err := factory.CreateMetricsExporter( + exp, err := factory.CreateMetrics( ctx, exportertest.NewNopSettings(), cfg, @@ -467,7 +122,7 @@ func TestCreateAPIExporterFailOnInvalidKey_Zorkian(t *testing.T) { c.API.FailOnInvalidKey = true ctx := context.Background() // metrics exporter - mexp, err := factory.CreateMetricsExporter( + mexp, err := factory.CreateMetrics( ctx, exportertest.NewNopSettings(), cfg, @@ -475,7 +130,7 @@ func TestCreateAPIExporterFailOnInvalidKey_Zorkian(t *testing.T) { assert.EqualError(t, err, "API Key validation failed") assert.Nil(t, mexp) - texp, err := factory.CreateTracesExporter( + texp, err := factory.CreateTraces( ctx, exportertest.NewNopSettings(), cfg, @@ -483,7 +138,7 @@ func TestCreateAPIExporterFailOnInvalidKey_Zorkian(t *testing.T) { assert.EqualError(t, err, "API Key validation failed") assert.Nil(t, texp) - lexp, err := factory.CreateLogsExporter( + lexp, err := factory.CreateLogs( ctx, exportertest.NewNopSettings(), cfg, @@ -494,7 +149,7 @@ func TestCreateAPIExporterFailOnInvalidKey_Zorkian(t *testing.T) { t.Run("false", func(t *testing.T) { c.API.FailOnInvalidKey = false ctx := context.Background() - exp, err := factory.CreateMetricsExporter( + exp, err := factory.CreateMetrics( ctx, exportertest.NewNopSettings(), cfg, @@ -502,7 +157,7 @@ func TestCreateAPIExporterFailOnInvalidKey_Zorkian(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, exp) - texp, err := factory.CreateTracesExporter( + texp, err := factory.CreateTraces( ctx, exportertest.NewNopSettings(), cfg, @@ -510,7 +165,7 @@ func TestCreateAPIExporterFailOnInvalidKey_Zorkian(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, texp) - lexp, err := factory.CreateLogsExporter( + lexp, err := factory.CreateLogs( ctx, exportertest.NewNopSettings(), cfg, @@ -551,7 +206,7 @@ func TestCreateAPIExporterFailOnInvalidKey(t *testing.T) { c.API.FailOnInvalidKey = true ctx := context.Background() // metrics exporter - mexp, err := factory.CreateMetricsExporter( + mexp, err := factory.CreateMetrics( ctx, exportertest.NewNopSettings(), cfg, @@ -559,7 +214,7 @@ func TestCreateAPIExporterFailOnInvalidKey(t *testing.T) { assert.EqualError(t, err, "API Key validation failed") assert.Nil(t, mexp) - texp, err := factory.CreateTracesExporter( + texp, err := factory.CreateTraces( ctx, exportertest.NewNopSettings(), cfg, @@ -567,7 +222,7 @@ func TestCreateAPIExporterFailOnInvalidKey(t *testing.T) { assert.EqualError(t, err, "API Key validation failed") assert.Nil(t, texp) - lexp, err := factory.CreateLogsExporter( + lexp, err := factory.CreateLogs( ctx, exportertest.NewNopSettings(), cfg, @@ -578,7 +233,7 @@ func TestCreateAPIExporterFailOnInvalidKey(t *testing.T) { t.Run("false", func(t *testing.T) { c.API.FailOnInvalidKey = false ctx := context.Background() - exp, err := factory.CreateMetricsExporter( + exp, err := factory.CreateMetrics( ctx, exportertest.NewNopSettings(), cfg, @@ -586,7 +241,7 @@ func TestCreateAPIExporterFailOnInvalidKey(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, exp) - texp, err := factory.CreateTracesExporter( + texp, err := factory.CreateTraces( ctx, exportertest.NewNopSettings(), cfg, @@ -594,7 +249,7 @@ func TestCreateAPIExporterFailOnInvalidKey(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, texp) - lexp, err := factory.CreateLogsExporter( + lexp, err := factory.CreateLogs( ctx, exportertest.NewNopSettings(), cfg, @@ -624,7 +279,7 @@ func TestCreateAPILogsExporter(t *testing.T) { c.HostMetadata.Enabled = false ctx := context.Background() - exp, err := factory.CreateLogsExporter( + exp, err := factory.CreateLogs( ctx, exportertest.NewNopSettings(), cfg, @@ -643,7 +298,7 @@ func TestOnlyMetadata(t *testing.T) { cfg := &Config{ ClientConfig: defaultClientConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), API: APIConfig{Key: "notnull"}, Metrics: MetricsConfig{TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: server.URL}}, @@ -653,11 +308,11 @@ func TestOnlyMetadata(t *testing.T) { HostMetadata: HostMetadataConfig{ Enabled: true, HostnameSource: HostnameSourceFirstResource, - sourceTimeout: 50 * time.Millisecond, }, } + cfg.HostMetadata.SetSourceTimeout(50 * time.Millisecond) - expTraces, err := factory.CreateTracesExporter( + expTraces, err := factory.CreateTraces( ctx, exportertest.NewNopSettings(), cfg, @@ -665,7 +320,7 @@ func TestOnlyMetadata(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, expTraces) - expMetrics, err := factory.CreateMetricsExporter( + expMetrics, err := factory.CreateMetrics( ctx, exportertest.NewNopSettings(), cfg, @@ -706,14 +361,14 @@ func TestStopExporters(t *testing.T) { c.HostMetadata.Enabled = false ctx := context.Background() - expTraces, err := factory.CreateTracesExporter( + expTraces, err := factory.CreateTraces( ctx, exportertest.NewNopSettings(), cfg, ) assert.NoError(t, err) assert.NotNil(t, expTraces) - expMetrics, err := factory.CreateMetricsExporter( + expMetrics, err := factory.CreateMetrics( ctx, exportertest.NewNopSettings(), cfg, diff --git a/exporter/datadogexporter/generated_component_test.go b/exporter/datadogexporter/generated_component_test.go index 7640a74b10d4..1c7ba7cb8d22 100644 --- a/exporter/datadogexporter/generated_component_test.go +++ b/exporter/datadogexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/datadogexporter/go.mod b/exporter/datadogexporter/go.mod index 5a1b160ffb1d..eece88795197 100644 --- a/exporter/datadogexporter/go.mod +++ b/exporter/datadogexporter/go.mod @@ -3,97 +3,103 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datado go 1.22.0 require ( - github.com/DataDog/agent-payload/v5 v5.0.131 - github.com/DataDog/datadog-agent/comp/core/config v0.56.2 - github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 + github.com/DataDog/agent-payload/v5 v5.0.134 + github.com/DataDog/datadog-agent/comp/core/config v0.58.1 + github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1 github.com/DataDog/datadog-agent/comp/core/log v0.56.2 - github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 + github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1 + github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1 + github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1 github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 + github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1 github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d - github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 - github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 - github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 - github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 - github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/proto v0.56.2 - github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 - github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 - github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 // indirect - github.com/DataDog/datadog-api-client-go/v2 v2.29.0 + github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1 + github.com/DataDog/datadog-agent/pkg/config/model v0.58.1 + github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1 + github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1 + github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/proto v0.58.1 + github.com/DataDog/datadog-agent/pkg/status/health v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85 + github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 + github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1 // indirect + github.com/DataDog/datadog-api-client-go/v2 v2.31.0 github.com/DataDog/datadog-go/v5 v5.5.0 github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee - github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 - github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0 + github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0 github.com/DataDog/sketches-go v1.4.6 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3 github.com/aws/aws-sdk-go v1.55.5 github.com/cenkalti/backoff/v4 v4.3.0 github.com/google/go-cmp v0.6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/otelcol v0.112.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/processor v0.112.0 + go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 + go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 gopkg.in/yaml.v2 v2.4.0 gopkg.in/zorkian/go-datadog-api.v2 v2.30.0 - k8s.io/apimachinery v0.31.0 - k8s.io/client-go v0.31.0 + k8s.io/apimachinery v0.31.2 + k8s.io/client-go v0.31.2 +) + +require ( + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 ) require ( cloud.google.com/go/auth v0.7.0 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect @@ -101,41 +107,43 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/Code-Hex/go-generics-cache v1.5.1 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 // indirect - github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/version v0.56.2 // indirect - github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe // indirect - github.com/DataDog/go-sqllexer v0.0.13 // indirect + github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/env v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/http v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/system v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/version v0.58.1 // indirect + github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 // indirect + github.com/DataDog/go-sqllexer v0.0.14 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/viper v1.13.5 // indirect github.com/DataDog/zstd v1.5.5 // indirect @@ -143,15 +151,17 @@ require ( github.com/Showmax/go-fqdn v1.0.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect + github.com/bmatcuk/doublestar/v4 v4.7.1 // indirect github.com/briandowns/spinner v1.23.0 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 // indirect - github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b // indirect + github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 // indirect github.com/containerd/cgroups/v3 v3.0.3 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect @@ -162,11 +172,12 @@ require ( github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect + github.com/envoyproxy/go-control-plane v0.13.0 // indirect + github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect github.com/expr-lang/expr v1.16.9 // indirect github.com/fatih/color v1.16.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -181,7 +192,7 @@ require ( github.com/go-openapi/jsonreference v0.20.4 // indirect github.com/go-openapi/swag v0.22.9 // indirect github.com/go-resty/resty/v2 v2.13.1 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-zookeeper/zk v1.0.3 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/goccy/go-json v0.10.3 // indirect @@ -203,7 +214,7 @@ require ( github.com/gorilla/websocket v1.5.0 // indirect github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect - github.com/hashicorp/consul/api v1.29.4 // indirect + github.com/hashicorp/consul/api v1.30.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -231,13 +242,13 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect github.com/karrick/godirwalk v1.17.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b // indirect github.com/kylelemons/godebug v1.1.0 // indirect - github.com/leodido/go-syslog/v4 v4.1.0 // indirect + github.com/leodido/go-syslog/v4 v4.2.0 // indirect github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b // indirect github.com/linode/linodego v1.37.0 // indirect github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect @@ -258,16 +269,16 @@ require ( github.com/mostynb/go-grpc-compression v1.2.3 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.112.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/opencontainers/runtime-spec v1.1.0-rc.3 // indirect @@ -278,15 +289,16 @@ require ( github.com/patrickmn/go-cache v2.1.0+incompatible // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/philhofer/fwd v1.1.2 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect 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/prometheus-community/windows_exporter v0.27.2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.1 // indirect github.com/prometheus/common/sigv4 v0.1.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/prometheus/prometheus v0.54.1 // indirect @@ -294,7 +306,7 @@ require ( github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 // indirect github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.1 // indirect @@ -313,75 +325,78 @@ require ( github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/zorkian/go-datadog-api v2.30.0+incompatible // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/filter v0.112.0 // indirect + go.opentelemetry.io/collector/internal/memorylimiter v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect - go.uber.org/dig v1.17.1 // indirect - go.uber.org/fx v1.18.2 // indirect + go.uber.org/dig v1.18.0 // indirect + go.uber.org/fx v1.22.2 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect golang.org/x/mod v0.20.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/time v0.6.0 // indirect golang.org/x/tools v0.24.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.188.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.31.0 // indirect + k8s.io/api v0.31.2 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect @@ -430,9 +445,6 @@ exclude github.com/DataDog/agent-payload/v5 v5.0.59 // openshift removed all tags from their repo, use the pseudoversion from the release-3.9 branch HEAD replace github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 -// It appears that the v0.2.0 tag was modified. Replacing with v0.2.1 -replace github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 - replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest => ../../internal/k8stest @@ -466,3 +478,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling = replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil => ../../internal/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata => ../../pkg/experimentalmetricmetadata + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog => ../../pkg/datadog diff --git a/exporter/datadogexporter/go.sum b/exporter/datadogexporter/go.sum index 6b895ea41dbd..14d44ed0039d 100644 --- a/exporter/datadogexporter/go.sum +++ b/exporter/datadogexporter/go.sum @@ -27,8 +27,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -73,167 +73,173 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= -github.com/DataDog/agent-payload/v5 v5.0.131 h1:i5l0FLY+rpVzS1hBrwR0NxQOmIg+ypXDi7xytGXnaBM= -github.com/DataDog/agent-payload/v5 v5.0.131/go.mod h1:FgVQKmVdqdmZTbxIptqJC/l+xEzdiXsaAOs/vGAvWzs= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2 h1:RUbkDO8Fa67vuKVqQgK1iBk4oM8PtjG09I1w/UdAZUU= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2/go.mod h1:wA3ZO6a8v0tuHLj1aT0eKcBmZY7QmuThxEVQTf6gEPY= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2 h1:EYLWks4f2GeqzwvhyvfhARVpmBRQaoKARvnbKoSk7Kg= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2/go.mod h1:B7o1FsKlzr4JSS+CYKYuyABr3eaaq2W7fIA56ntxGHQ= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2 h1:HqmPb8Qy4gAKdKB8Nrt3FzD5BWatxr6vUVO4//Wf/JY= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2/go.mod h1:njrswNWNeJqFot4U31iWy6DFzm4Bg1PWkt2yEh9hfGU= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 h1:wIGNGeNJPaX7byBWBPnaL4clGAEeIl3IR4o/v+vGIno= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2/go.mod h1:oPs3OkQOyKRX/kERWQGMpIHG6j9J5kIlBdm2R6OyWHE= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 h1:3SeIZmDiXPKGNJKHF2C7KNWjuCM1vLJ+vBtWKpIsrqU= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2/go.mod h1:SUizcQZHTU7Aezk/XKiZjPpt7Ng8x4AsAcr5PlxyP7w= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 h1:t+w11Lqi5XvUpqKGx1GKzlc//1it9H31JOUiJViWUpA= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2/go.mod h1:YJDw2LKcZMO8aSsCrLZm7ZYSOyc/1sNfSE2xv+T5pu4= +github.com/DataDog/agent-payload/v5 v5.0.134 h1:h0oP3vDTOsjW1uKIZxKsCjOV/40jkY2Y+42GKAVH9ig= +github.com/DataDog/agent-payload/v5 v5.0.134/go.mod h1:FgVQKmVdqdmZTbxIptqJC/l+xEzdiXsaAOs/vGAvWzs= +github.com/DataDog/datadog-agent/cmd/agent/common/path v0.58.1 h1:qCxfW7qyhhsdJnGQQzVXOrILt9jvhzo+v2Hm3tcdIXM= +github.com/DataDog/datadog-agent/cmd/agent/common/path v0.58.1/go.mod h1:LgVdZDnVJLlQyZy+F3gcXlahFQP+d0CBsHA1H7PX9zw= +github.com/DataDog/datadog-agent/comp/api/api/def v0.58.1 h1:C7wPyBs7C8nWkTelRv3ihemiwbTiQV2Huo8NAJsunTc= +github.com/DataDog/datadog-agent/comp/api/api/def v0.58.1/go.mod h1:9vuv+8TTwPN8fCdKeHztCViIZI0PE3JPNb7mrSkN6YI= +github.com/DataDog/datadog-agent/comp/core/config v0.58.1 h1:XMhjjeclNRy4nzCvl14ghTCGhKEqWA9M8FhrVB+YAqU= +github.com/DataDog/datadog-agent/comp/core/config v0.58.1/go.mod h1:V9vNFazrr5yEj8i9z4BR1wqNgny8n0O22quVWkK7KH0= +github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1 h1:Q+2izdaeFpqtEeLaMyD5cuv9Db6fAelD07jESXLbaPs= +github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1/go.mod h1:uFVwSuJH4LccQcHY02jVCDeuT7o7/YNzNfUhsMm7iv8= +github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1 h1:t75NGqyCMV8BEPfnemnLcMP6RbbalkNemt0PY6ypDUY= +github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1/go.mod h1:t4ToNFTlcVXu7SRWyKnOwZCUPEe/R3M07d9ugGQlEt8= +github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1 h1:w6frETj5GpqcQSgWYmlzdCeFGLOhJ5DP4ly0Hg4KXv8= +github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1/go.mod h1:KVkaJZupoHcZUUP0b142c9ce1823f48mkv4D9QeWASs= github.com/DataDog/datadog-agent/comp/core/log v0.56.2 h1:qvBT+FfjKGqimyEvmsNHCZKbTfBJAdUZSVy2IZQ8HS4= github.com/DataDog/datadog-agent/comp/core/log v0.56.2/go.mod h1:ivJ/RMZjTNkoPPNDX+v/nnBwABLCiMv1vQA5tk/HCR4= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 h1:6/FSx8WPy/L86LFPWB0YPsiWLvIvcvFbWnba/PDkeo0= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2/go.mod h1:gIs5mmRdE2epD1iYxNvdx2EhXrUfa2jebR+CU+0vYCo= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 h1:oMhfpqlRYwyhUdiN/mQRvI/aWkQERsGWBQscdDwQZ3A= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2/go.mod h1:YkMtv/JWcPabF1jGiReg6eCuFYXyFi5PxOMoNTlFiJs= -github.com/DataDog/datadog-agent/comp/def v0.56.2 h1:EOQj5viXX5l47Su32muRE5uILjdNDsgiOcEqsi6BNgc= -github.com/DataDog/datadog-agent/comp/def v0.56.2/go.mod h1:DEWoZ2fdGE8yy5Q/p8w06DLm3cBWxW8i9a/xNUxE2qc= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 h1:/II2MLkmHKsm/myoui8NIp55mY1gnoOGlEmYTtLvjdw= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2/go.mod h1:q0u4J9s2y0AcqcUHOG1gk4NlgxbVD5G8c7BNKNoGrro= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 h1:SXJCwx6giD8IeQLyVX62gRysBEHx3vczkprPmln1knk= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2/go.mod h1:0o4qKCsmoFkYSgOTKL5UMR1/Ig0pX4bA6gJZjuu8/K4= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 h1:P1u8lJDnCHiWc0vvvvm9JB36fRFJ2eSvD9ajVo0x1r8= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2/go.mod h1:hruCkJ5hCU6LZ5jkdnST3BHanHeQ73ewPAWIW/oZVmw= +github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1 h1:wptv/dRe52IlFCayDURcGv6Qqm7GkMjKuaWxi1U7sIU= +github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1/go.mod h1:uFF83DUAQYoQKKdddr6ptnCPiRik/lr9y+B2JxgLWRs= +github.com/DataDog/datadog-agent/comp/core/log/mock v0.58.1 h1:9nYkfgNzTr+dBdbwA3DTn+AFaa/cvckF2IXh4PQHDoQ= +github.com/DataDog/datadog-agent/comp/core/log/mock v0.58.1/go.mod h1:qiV16tfwbVFcnxs4iYwCq6pm5lUB61zbpkOY0jeN3+o= +github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1 h1:w9xjHRoQB8AaFBsevSaVQDRVP+xyLzj8Qrn2D6C+edM= +github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1/go.mod h1:j555JcL/6ZnoOZ8HCsJhQJyve5XYqN1sofrnUBot9oU= +github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1 h1:p5kJdvUS2JpZnsHK93OwO6FYZD8qPeOi2McD5qY1I+U= +github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1/go.mod h1:uysZ8Wyrc467/T+crgZl5qTrcD7ZaKVGOI0I5wcLziM= +github.com/DataDog/datadog-agent/comp/def v0.58.1 h1:a/H9ZuJBH4a2/9yiOFuvhZpa5Ve2uXuFA2t1kuLquss= +github.com/DataDog/datadog-agent/comp/def v0.58.1/go.mod h1:2xorAm6FmIl275/ayDZSUg53Hz4oQ/X8ELyp7I1N3fM= +github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1 h1:Hn3ZL+/mKwrU8YxbrlNVx5gbCPOQnGrpP2CLfPYPPGA= +github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1/go.mod h1:ebZc2pxI00zxkm+JKrXGh7Ux1NXTLtI7hO73077sZ+w= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1 h1:eT1YJ1DC1tZkWAklk3JeJgd1m3yMNCrhfi5pq0D7bHA= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1/go.mod h1:B0L+mSxgJlVDGgjs/8xsEMrN0nxStRjxQjHB1UbvC7M= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1 h1:sJt2fJIm+96b/4nJz/HSwBe16Ptp0gDqkU+OF8GhsCg= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1/go.mod h1:XmC/ksPgWEE2OmOdzoHg5wbiDh2pFeGopH5Kg6uF0Rw= github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 h1:yBmr913VGRz/PFcpLVnXGTQQu7tIB+jMQ8Sss7936qk= github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27/go.mod h1:niRElZ9+yd0uG84z4Az+da3JX9UpRu5MrbB32KtF4xI= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 h1:TmEsHhs1mcKsiWTK08aYvZrNZqlbs51FwN6yQVMe7No= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2/go.mod h1:D56XSQiApc7kNzkF2FCJG/6D/8SV3jhdWqe0dDSRGoM= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 h1:WTK6fTNgSCuVrz3dngS7R82rq9SVI+E8oQehd/2eEU0= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2/go.mod h1:tXejTCnqylzUGUBmFF8tcinp+nPCeMqL350Nl/qV5DU= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1 h1:RJ5Nf2NunhMfMIl8xLiiLKzly2eyILwdlI645wU3rww= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1/go.mod h1:+n0h11ZT+xyHcylRCnn8sBVW0m7Zn/PE6C8r1IbFMik= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1 h1:KA090W6qxCIfqXxulOX7rEiv00VBhYLf2+vjGiaodfQ= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1/go.mod h1:U5EqA7GQg6vRzZGCqgDcW/kZ5ggNaT+53I5Yif5EAaY= github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d h1:wdjJ+/tBYiFLwno+lBPP66rm5jIf6ycGPRr21ogBBzE= github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d/go.mod h1:CHa8CY2k0/wZkx/4KPi/WU/0m5YCfWZI1SAs1imElMA= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 h1:sp+1EdyRYwAygX6FzVxl0V1vQCdfOJMHfsQavkZlXus= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 h1:NV9Grkuvy5W3ye7JRczn3lpNRn+qgUMwGKuwP9nKcqY= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2/go.mod h1:K1IRoBfCpCikrKNSXi+fi+X0ukAP0ZoyoTF5AovP11c= +github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1 h1:8+OWYB+Z7qNsC+DAcQLeWJ5rDh8FyZfVbgIc5jScXPA= +github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1 h1:2AvGJDj3UNfA2F0dr4kOKOoDbiBiwDFfAYTMpnRDs18= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1/go.mod h1:ubORopslgVNCvOIVTYmMDwov3xiMZPIdwUq5VZhDvQc= github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3 h1:Hq2tQTaFcEJy9o1QFb9Ql/gm0uRzrYQkFEZGPVKLMHI= github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3/go.mod h1:TOlu5v8b46+aW9h3KLZdOiwz3gJkoQerT3+F3st6ZRA= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 h1:OWZmy3BPMkjDjDp+mIYdGS+jjFUx3jK/sDJI/AjtvaY= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 h1:TWsAiPjYKomf5FqRodShgzRRI+oP/537/myvW5GIXT8= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2/go.mod h1:1gXwnxusuGZQim0dtfidr7P1R/WGZGwY4HJvLKJUqMk= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2 h1:sgipVv0WUoKO9RNSYFhNXH4wicevfU+yti8+rZDClFo= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2/go.mod h1:RA+h+P2M7BlBeU+XVuZXhTj8lzjXdEoCLP28EkcYV8s= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 h1:XjB3XpimhNFgHYztUZAFTbSg7G3BzbVqAdYhbf3OSEs= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2/go.mod h1:wm7zXdwf0zknLgc9lpz2H70fRP2xA9WHL0LEscxtDXQ= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 h1:WMKs6IwIUpPrZ8KoiTL2Dw6y7UUQJs8v7VkuZc1s0jA= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2/go.mod h1:fYK7gt2JvuTmS5JeGCxui1Id8ZFkv2PUJrdnBvNhlxQ= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 h1:nhTqSjxsOTf5UsSkWY9SxRRpN+qsiV5/I4MrSyjVuc8= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2/go.mod h1:s0ndzOnxWvO1TSdrhEtjXtnjb838Pkzxj0AmHpiKK7U= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 h1:VIlQd7UBq3oUoUbpRmiwIlkDZuGvAXS/wUXU6xmezwk= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2/go.mod h1:Vm8HdkHHpEwZhixY0oPWsx0+EidhSaMTF7tN9yuMPFY= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 h1:1qg4WagIl2qtKcq9cVL2fRBhqvYQ5DuYaY7cFJ+293k= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2/go.mod h1:Wb8Rxw8BdbLQPzwNXtpWUO9+bBfZhyB63/8oYFLv/GQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 h1:0AF1X1OabT8vCTYK3Aim122xkg6bAMUJXYTcH/RL7pQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2/go.mod h1:AFPiROajOY3I6akR+WsKwGIriBPiTHRBfx8tmw8hGRw= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 h1:iduodazC+WDi7ZzRKYZvzFNq2GsxtgIgrzkwK19//3k= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2/go.mod h1:Qrr7ursqqUvokjJTBklUzL3Vk1THLi1NMpUhY/jGKEc= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 h1:0aETddrtn7SOZqCX9tOEiRgPgKKG2u9X9YMnNaboQYM= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2/go.mod h1:mVRXyOp9oiPkj43jRt3r/iTL+XuScLKJjv3MzDvB5eQ= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 h1:vuZjsCYaGwAazLKiLSHqCm/fsGeRmONN/rIneQWEXBE= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2/go.mod h1:YX4mkRMvBjp3/X+8Lf39g/AntSZurqL6UIYdJdK2k/M= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 h1:AJoG4f9WoOgYnzmk12gY5TjPsS+lZTg9wK90oWEhtlU= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2/go.mod h1:9XZDNW8LRR1yk/H8QvVmHNAEkrtEDXrsgEKd7WdU3pc= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 h1:coxL4HfNDRh9KCIHod9vMT5iBkmU0LV3U4xcHmZ9YCk= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2/go.mod h1:vBywuPyeY7FAW+bpIqAoVKIBxX4JoIQ2GDaAtVgMk24= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 h1:Ky5KX2o++a7hGkyiNBwqDGODrhBI7LmLZXtnFCjS8Ic= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2/go.mod h1:IhlLrrI3hWySfPYFMqtlY9kNg4ECz7ojpviXJhdILbQ= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 h1:KjrdVk+88cnPk2iWOz2Go1BZlLW0ulrPBNlq2oiStC0= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2/go.mod h1:cQ/XredS3KBuGthDWqwOhiwkMGStRCjt6VuEJMVvfTc= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 h1:DLgBADfWqBrhM8n5DRg9UvrnxYqU+BW3QvvUGAqkpRA= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2/go.mod h1:PaduNrh0GJ3UEKG30VMu0M6hi7KuYf3VviLdIG9xV9k= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 h1:f1aTHRfL7YToK03+xmBACsuOwHYZoqP74PdYoNJL2x0= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2/go.mod h1:p2NTG+cIhVGlKELJfRteGCec37ICptIpeB2x/MsRkbw= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2 h1:GhiXTsuUbGloQh7Um5AX0JmggwDn9/x0icWOTNEjovI= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2/go.mod h1:Ple3tPG2mBALotrP7KH/A6CY7M+3npX6+/Zl5bwY7EM= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qcg03KcP2v/dkFnuEy+qC0jWgZi1SP4jfx/BOpL0ayY= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:icOxQ1JBek3L0WCQXsKD+VhRc3S0rn71/bUkt6tKVSY= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2 h1:i6zUPUGL6QWZVxTAsFBvTcn4GSPRY3dnqPBC6kiEsB4= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2/go.mod h1:HG4/o+jZ2T6+bhTOKQj+3ikKGhFLWTp5Kib9swNxTeY= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 h1:c+KHCZcoUBhjNpoYkpys4v/eN4Q+eEktUE2vyhVHKw0= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2/go.mod h1:If8HaT8MFPv9NdWDtaQfEy1OUB6RiMFeQwLSay7G91U= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 h1:XbVTbfBXqCnr48Yg3yFfBRzP3B/Y1yS5pqpKJX59RU0= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 h1:jda5gGyoU/lXVqQsr1xv+z8K8ujLX4MppiMNtMH5chQ= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2/go.mod h1:u6BWbLlCuVOu77ntX0x5af1qNISD0wtMj5c6ojfHQyk= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qEUqimASiw9IfkDKxHqcZ6M6w0TREBGPVlePP3Ng/No= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:6oieT7MVbPg52r1pHQkiNavDIK7pN1ZKsudT9s0kLzY= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 h1:AWmZSmqPmm2QHsQtmB6MiNaq0ssp9/4fhq4aiGqJ1Sg= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 h1:myVkrQcWHHALBxNVO+BE88IvF/MmFNXEusb59dWAG0k= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2/go.mod h1:JkzBRRIF14HkunWu+gPPCQxm4FW8dDg+6ioBDaKYdco= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 h1:XN+YzFS2mUF9OYrxQIPZdgiYhJzc+CUZgrXs8WL8y/A= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2/go.mod h1:mSSn2OzsdgoUnPyBmF8rEDU+ee1RFp+H6LFsJSteN9o= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 h1:Lhy+q1zl9EQSM97ixD770xwFirtPF/69O13qnO8OxHo= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2/go.mod h1:GD+HjlsNGhPAjAYrNjt/XXq+lHgor1Piia+Mlat/97s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 h1:FOnoG/i37bWlZfVhS/a1icX83dUtSCsixZYi3qTxT1s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2/go.mod h1:bI6jSFleEMzkMlm+dmjNs4T7a6R9PDIgWdAyW6cIBkY= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 h1:1lgz81YwRXqGqYqX65mTDBHWLgpUBP67giv3sVthYig= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2/go.mod h1:g+gn4N6q/QoVjAvMFWJFcTc8nnwVx2LqaUEoj0Y/MSE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 h1:yu88zoYRzyd0EK4F7bJ39D8ibJa82y+x4u0JHeeQoxE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2/go.mod h1:jVsNYokuDBLoj/5SMCrjmtZc+yfiBBfHN7Nkhw9VJdI= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 h1:dcdsyPFTHFr+Cl/OfNt5VJWZl/TY0Xo5KYTDD316Ep4= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2/go.mod h1:DWliXBL5ROdWFjUHuh5fh5ve5zHydidMM/hE/w3j/Ww= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 h1:ZxVlp133lU1sxOSOC3Qk75ADTXLkVMiubE/+Fpsd5Jk= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2/go.mod h1:xWT/KJdJg2/0pZyAKZ6XmIiE5sM+AyUo4qvKuPHQ17U= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 h1:LkFVlpKVHvefsAYtUUA87gYBO6D0KC5ncB7tFsBJFJM= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2/go.mod h1:t1DlnUEMltkvwPLc7zCtP1u5cBDu+30daR2VhQO5bvA= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 h1:RPonaHh3OKj1VCmaBJWYhrlS4m+VXvJAW/LuDwcFXG8= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 h1:9oHsY5RiebLoONStzy1OTG168WvPMnF8rU9TCgn/v+Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2/go.mod h1:IkqOyNbrg9hXqCMyL+g+Ldhz4q6VVOPqbHQxS4lLiRs= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 h1:lf2s/5Z8FQlMDK+881Dg/UIIQbHBdDM0gu/PJwPSgE0= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2/go.mod h1:Et2HSDjQvMhgs9ZdH7T5I4q04g5Fj23EtmeIaen/9/M= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 h1:yPztPIEPPeDgxJoOFVVR9lcIA2NF8ScGdplU2puav1U= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2/go.mod h1:AbeAoUquORgGoRhQ9hDqJO/n4nCw7+/k5dgq/ZysWWI= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 h1:EQuMMdAd7uTeYCcHsyL6mUixMGtcU0PiAjea170xEAA= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2/go.mod h1:tBwAMDAEJEaZ5VNe19GJoLLzviZGOPUJH0WnzETWhyY= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2 h1:P4u0CtJqWV0xJ3N+smRjktS/IlZlf4jMMHdcuSUw3kQ= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2/go.mod h1:m/uWLdpGEi3x/5gybZFeYNEnIdKhGtWW8kFZuM+GSFA= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 h1:5Cg+O4+Npt8BMuot5KpRdN5TVw9lqRxUBkcr6W9Bss8= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2/go.mod h1:lZaWAGe78MiYFRHwbHS1NikRXtiYz3CsEiYbyMJyPTk= -github.com/DataDog/datadog-agent/pkg/version v0.56.2 h1:gUTMxa47ARBNxIex1g40Gi3xprhq1QMMvzqsP3yxdNw= -github.com/DataDog/datadog-agent/pkg/version v0.56.2/go.mod h1:rcA7LtIB5WLpxsems/bWO1iXkyGEgHHje7vJ0b20ZpU= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0 h1:b0vTasEPUc7FuCKaRFqbJB+88IdWL/f7LdKcasMV8Vo= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0/go.mod h1:QKOu6vscsh87fMY1lHfLEmNSunyXImj8BUaUWJXOehc= +github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1 h1:LB9F2ZdoALCYujG/TDMrCoDi7IL05tNlhD/BQb7RL/0= +github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= +github.com/DataDog/datadog-agent/pkg/config/env v0.58.1 h1:YhKbV1EfmgLEFfoeRqr7DqdpBzV+30DaIeHu7xGnapc= +github.com/DataDog/datadog-agent/pkg/config/env v0.58.1/go.mod h1:6FCvy/nHjY3E13LqVFhKdrwkdD59sAMCoUESvNC/8QE= +github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1 h1:Qbkey2DK4WTjlFORrEsXzBca4TxKiQ7Jq7dCicRBYmE= +github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1/go.mod h1:fmG7tclqfAQDBu0CLKlsy3+GOUeXfI5HMzYrvwOXmdk= +github.com/DataDog/datadog-agent/pkg/config/model v0.58.1 h1:Imt01AqHsNQUJA3GYJ7lrFQGwLxMz3WCS3+nmJNWiwc= +github.com/DataDog/datadog-agent/pkg/config/model v0.58.1/go.mod h1:B9tLaMWBCXO+2dYGah6Kh2CnXct/YOTBJ8AOOzCVYPY= +github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1 h1:mzman+9pntGbveBcSVtB2Mn7LHZKimjhulcYA5s4UY4= +github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1/go.mod h1:/6fP610zDfmDnImPGbQLNtaEEFhyraqwh/kQN4uBy5U= +github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1 h1:nrVwOQA0/3Btluw9pl8qMPRkSTVM15hV9+XdvbqSaVQ= +github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1/go.mod h1:7u3s+AJfoD0u0Zj8Y+pS3RqHw5xLPV/Iy+Ula0VqJoc= +github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1 h1:CWt5fCaKA+EpAViBPj7NhP/SIdFXWAYd/0FK5EbLKDQ= +github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1/go.mod h1:SYA0dEleRVBhm7NfiI1+9nQRTxCuxfMFkS47Jwad2fY= +github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1 h1:YgGdHVCpsym4+l0M0TrTZtX41QURPaDr3+KY88aRut4= +github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1/go.mod h1:1OVE8Ft8qZKhljwx/905Ks3QEH3kxsbzDjj/xO+yHTA= +github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1 h1:FSmQXdrJ9xbMsXrXjqhDkbe+HxetWJShl74HPWvW01k= +github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1/go.mod h1:zHRKWkv9DnZOkzy5I/4/NC08VaK932KgV+ZTJG8T6J4= +github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1 h1:dGfGSczTFZ5XodbIEPDzuUtazwSqKjmO9c74l+lfOK0= +github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1/go.mod h1:7KshFX6L4XyHYDHRzjJf8i30BD+/g31zazEW7B9YvYc= +github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1 h1:vEJOgkln0gnEnhuc1RGxWgJhYcIArjd6uUrpln7TxDk= +github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1/go.mod h1:Cf1EuvbAxBJiCEjbo5YdwQm4lzvc538od81EivDKI2Q= +github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1 h1:1DOFEtbBB7rlY5hRYUkhqWY/7obpfFurEAezqx3MLSk= +github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1/go.mod h1:eFHfGgbKKq0WxfH1ZTir1yuVjMj2e+7B/AoRhu2dFls= +github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1 h1:eKms4zIGeztAUp4KV47sBDvTVHUGIMISgYUqRe2xJPo= +github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1/go.mod h1:nZnAC/EpR50cwzKT0adh/aVZqOM+KjY9LP5QjxYWkzc= +github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1 h1:drola26wLanYu+2QsaLRjs8JYlqwzQ5CYT9HL69FRkY= +github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1/go.mod h1:Y7AVNkF1qk3MZNEcudr9TDmxZ5OajXGcCWW/rDV7FGs= +github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1 h1:HLufYwWJgayxGnk63n0HQKsOedfRuRDlFgRcfjZce40= +github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1/go.mod h1:w8TFbRe3cI9hMqg4gaRndsi34DhFtUPch85cyTbbIVA= +github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1 h1:1AOzIxGnxUzXNka2X1IF3dsraoKyZjDhvBNXzd/H0E8= +github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1/go.mod h1:MbjV4G8qwNuYmLV+VNvFzic8dhi3oJ4s6pRjnL++2mM= +github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1 h1:852RVSP9NwRWUKJDPdX1rwbvfbnmc7KW52um/vI94sI= +github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1/go.mod h1:PaduNrh0GJ3UEKG30VMu0M6hi7KuYf3VviLdIG9xV9k= +github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1 h1:QKWAyvtXHvnBkaUUO0bK3OZEhRxjy8nkXSiR9OPxzW8= +github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1/go.mod h1:p2NTG+cIhVGlKELJfRteGCec37ICptIpeB2x/MsRkbw= +github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.58.1 h1:ez1UdNanPIANoaeaX1rxZ6BWtS4NLpW6z16Z6cnizmM= +github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.58.1/go.mod h1:r+PTdoz31HJ9CnYo1lehKtxbYNtVNdRl1w8to4GfeGY= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85 h1:+jlg745q9znKME0F2Y51QuPT9crQ02oIjUj3qVtV8IU= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85/go.mod h1:MfDvphBMmEMwE3a30h27AtPO7OzmvdoVTiGY1alEmo4= +github.com/DataDog/datadog-agent/pkg/proto v0.58.1 h1:e02xf1fucgUJhaeL3dV7tIlkqR7lgDLTuw0YU7bs2Co= +github.com/DataDog/datadog-agent/pkg/proto v0.58.1/go.mod h1:0wLYojGxRZZFQ+SBbFjay9Igg0zbP88l03TfZaVZ6Dc= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1 h1:SJGxzjjFuqQwR02i1w+WVQCvNqqeNEWXClARxLiqhe4= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1/go.mod h1:jN5BsZI+VilHJV1Wac/efGxS4TPtXa1Lh9SiUyv93F4= +github.com/DataDog/datadog-agent/pkg/status/health v0.58.1 h1:YXkNMrpO4zGCMpka9FyH/K5qU4ZnSXgO2EgEbT60fsw= +github.com/DataDog/datadog-agent/pkg/status/health v0.58.1/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= +github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1 h1:aW9M0G7rIbkJ1KAd85AEqCTnm/zuXBXcnywkiYyvfKE= +github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1/go.mod h1:1s6YQn7CDkajI/H9oQL9IESuGLm1BEv8nOBPszPP5gw= +github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85 h1:NenBahnbhBDEMLwR5AfK54VLFidK34xcr61BX/t/8vo= +github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85/go.mod h1:SXT+/FonH8qi6U6YzrBERefqPXuxo4UTu4CEH6dU49M= +github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1 h1:bFq5Khge3NxXkBAFdbg20P8feHcFEmZoBcwbVfaFGy0= +github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= +github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1 h1:iIBqix7R3ScMJl/VuwqEuGgBdxgtfisBqtcrN2OAEsw= +github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1/go.mod h1:YcPnoCJG+lITZJFfnRjR2BSlAE5jYgUFLcbQ2mDQ6rA= +github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1 h1:DFjL8kk3i5iT2IGVH6kAaZA2nbZwvXZFej7KKx1jb/o= +github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1/go.mod h1:mSSn2OzsdgoUnPyBmF8rEDU+ee1RFp+H6LFsJSteN9o= +github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1 h1:sg6Yomy9PNVPmGEAxJOajcX9jsPh/BDaEoL/2RJTaKk= +github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1/go.mod h1:FCT+cY6ET+CMdsS5dfCAvV9GUuuLda9axjqbnFJNdns= +github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1 h1:ktZGvl10inyuSbzNDGhOd7gNQOCj41afhQDrfw5M6eU= +github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1/go.mod h1:RhQTOoV0kECZDqR3GPW+6XaOMieKgmsHB2E7o2carX4= +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 h1:lzV6MTx2an9dvS1ZiA3HjHdXFMBEPyR94G0ka+bV4hk= +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1/go.mod h1:w1E+8Vlj5hmfedxSezwJyY29X2uecrBlC+CHCVgi0wI= +github.com/DataDog/datadog-agent/pkg/util/http v0.58.1 h1:MmxSih3z2zH0iyYQ7ViO37xUvMpF2XZWYURWHCDSB5E= +github.com/DataDog/datadog-agent/pkg/util/http v0.58.1/go.mod h1:JeR/nRdRnShAxpdAQN2hhMQw64zzlF9uYmYAjOvqzvg= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 h1:J5ce1aQqwyorBqUzGuQVnDvTB0aiUOS94N0l6VV40E4= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1/go.mod h1:bDZiE0NzmmlgdXrwdFtJzmCuZNJ0f0/JXbOJ7WOJ2eY= +github.com/DataDog/datadog-agent/pkg/util/log/setup v0.58.1 h1:A8J/gNR4ArTl7sCrAsAwmjGwOl5E2NpB/33pu4sEz0A= +github.com/DataDog/datadog-agent/pkg/util/log/setup v0.58.1/go.mod h1:ehok75MGxlrn3lwArlwFShwJ+k2vvDyKKO7/187vZJ4= +github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1 h1:qAK08JIqCuUYkkgb+2g/38CK5HZxJycdK9eZrHH9caY= +github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1/go.mod h1:xWT/KJdJg2/0pZyAKZ6XmIiE5sM+AyUo4qvKuPHQ17U= +github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1 h1:s+ZcsVFeVZ5Ro1AM6r6DRiw3fvlzQMQcQltIkjYj79c= +github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1/go.mod h1:t1DlnUEMltkvwPLc7zCtP1u5cBDu+30daR2VhQO5bvA= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 h1:fFQnuwiCxku+6PNaa2N5CCgyth87E4EM4emoo72pYao= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= +github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1 h1:A5zRpSmVgvi1oWabM2E0QtW0F+dHdI3vyJmxsjtxYpg= +github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1/go.mod h1:IkqOyNbrg9hXqCMyL+g+Ldhz4q6VVOPqbHQxS4lLiRs= +github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1 h1:0HpkHFWLd9EtfXs5/qTYhTrG1gCRL4eJYpx8nrl7yVU= +github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1/go.mod h1:Et2HSDjQvMhgs9ZdH7T5I4q04g5Fj23EtmeIaen/9/M= +github.com/DataDog/datadog-agent/pkg/util/system v0.58.1 h1:8bUkKgP3U54tesa6q9sz/3+bCWzEp7Ut9SJqvt+PeEg= +github.com/DataDog/datadog-agent/pkg/util/system v0.58.1/go.mod h1:3piBklKk0g32OkoswgG+4hX+7hwASWOo+HGS767lUvQ= +github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1 h1:MURqn7scjqddntVTM6p2KoHf6umm3k7h0h63X5bYZ/Y= +github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1/go.mod h1:Hp16ayANpEIMDhh2bQtHzUZKp3CbnK58+UkClmaEyYg= +github.com/DataDog/datadog-agent/pkg/util/testutil v0.58.1 h1:pdUXCai8VLXqyYYxuZ43uEfgv8uzbRE+TFEvi8MN4xM= +github.com/DataDog/datadog-agent/pkg/util/testutil v0.58.1/go.mod h1:m/uWLdpGEi3x/5gybZFeYNEnIdKhGtWW8kFZuM+GSFA= +github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1 h1:xXFZ8o3G1PAsa8uAvbOBPOMG9FYi8lNf7SmR8yJ7Ro8= +github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1/go.mod h1:5Izptk2xo5z5wIL6sAQw3erTweX8fEZIoKIc1Cxk6aE= +github.com/DataDog/datadog-agent/pkg/version v0.58.1 h1:R+hw9PnwuW6qPwAlyP6SG3DHXApxMIHklfE+AV02yig= +github.com/DataDog/datadog-agent/pkg/version v0.58.1/go.mod h1:rcA7LtIB5WLpxsems/bWO1iXkyGEgHHje7vJ0b20ZpU= +github.com/DataDog/datadog-api-client-go/v2 v2.31.0 h1:JfJhYlHfLzvauI8u6h23smTooWYe6quNhhg9gpTszWY= +github.com/DataDog/datadog-api-client-go/v2 v2.31.0/go.mod h1:d3tOEgUd2kfsr9uuHQdY+nXrWp4uikgTgVCPdKNK30U= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe h1:efzxujZ7VHWFxjmWjcJyUEpPrN8qdiZPYb+dBw547Wo= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= -github.com/DataDog/go-sqllexer v0.0.13 h1:9mKfe+3s73GI/7dWBxi2Ds7+xZynJqMKK9cIUBrutak= -github.com/DataDog/go-sqllexer v0.0.13/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 h1:RoH7VLzTnxHEugRPIgnGlxwDFszFGI7b3WZZUtWuPRM= +github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= +github.com/DataDog/go-sqllexer v0.0.14 h1:xUQh2tLr/95LGxDzLmttLgTo/1gzFeOyuwrQa/Iig4Q= +github.com/DataDog/go-sqllexer v0.0.14/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee h1:tXibLZk3G6HncIFJKaNItsdzcrk4YqILNDZlXPTNt4k= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee/go.mod h1:nTot/Iy0kW16bXgXr6blEc8gFeAS7vTqYlhAxh+dbc0= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 h1:BSxE140Gynn3ZeH56ofYzv8I0X0slxGfuY5iyH1sHVs= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0/go.mod h1:BaxI6A5wpYHicrxm/65NTpW6kHxHcO24M7CKmZEMilE= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0 h1:rP4hnNCufRM2OsnFy0Tf00r6mu19fcQxfVN4E1rD5mY= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0/go.mod h1:66XlN7QpQKqIvw8e2UbCXV5X8wGnEw851nT9BjJ75dY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 h1:TOcwknwAfubzVfGSC0VJX9C5LjC0dpQxM8ltVE/55R0= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 h1:37H9gltcqOfrIaTD5BbgMkHdEQCphETz/s+ThFoxWTg= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0/go.mod h1:PqMDslg4Fn+rzrFpPdagRARa/CbtLuNYYj7vGv+RfFQ= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 h1:JnRJqpnG0tDVTsD9uU6Xk9Nh/ozuLa4emyR+t7WxIto= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0/go.mod h1:OEECw1sTZq5HfYzpl5C8Md/8wjsnmxF5lxFmv3Ey2CA= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 h1:SAczemPbq9qyzyi8Crd8MvEjYQXwsTUxR8tJlXLqnmk= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0/go.mod h1:Rhxlru6B8yfLZ4VSjuAuMnWdPgP8X60kvRjrdt84iNU= +github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0 h1:jdsuH8u4rxfvy3ZHoSLk5NAZrQMNZqyJwhM15FpEswE= +github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0/go.mod h1:KI5I5JhJNOQWeE4vs+qk+BY/9PVSDwNmSjrCUrmuZKw= +github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.20.0 h1:e4XT2+v4vgZBCbp5JUbe0Z+PRegh+nsLMp4X+esht9E= +github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.20.0/go.mod h1:66XlN7QpQKqIvw8e2UbCXV5X8wGnEw851nT9BjJ75dY= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 h1:fKv05WFWHCXQmUTehW1eEZvXJP65Qv00W4V01B1EqSA= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0 h1:JLpKc1QpkaUXEFgN68/Q9XgF0XgbVl/IXd8S1KUcEV4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0/go.mod h1:VJtgUHCz38obs58oEjNjEre6IaHmR+s7o4DvX74knq4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0 h1:b60rxWT/EwcSA4l/zXfqTZp3udXJ1fKtz7+Qwat8OjQ= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0/go.mod h1:6jM34grB+zhMrzWgM0V8B6vyIJ/75oAfjcx/mJWv6cE= +github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0 h1:0OFAPO964qsj6BzKs/hbAkpO/IIHp7vN1klKrohzULA= +github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0/go.mod h1:IDaKpBfDtw8eWBLtXR14HB5dsXDxS4VRUR0OL5rlRT8= github.com/DataDog/sketches-go v1.4.6 h1:acd5fb+QdUzGrosfNLwrIhqyrbMORpvBy7mE+vHlT3I= github.com/DataDog/sketches-go v1.4.6/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/DataDog/viper v1.13.5 h1:SZMcyMknYQN2jRY/40A16gUXexlNJOI8sDs1cWZnI64= github.com/DataDog/viper v1.13.5/go.mod h1:wDdUVJ2SHaMaPrCZrlRCObwkubsX8j5sme3LaR/SGTc= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3 h1:cb3br57K508pQEFgBxn9GDhPS9HefpyMPK1RzmtMNzk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= @@ -258,6 +264,10 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 h1:t3eaIm0rUkzbrIewtiFmMK5RXHej2XnoXNhxVsAYUfg= github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= @@ -279,8 +289,8 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= -github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q= +github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -304,8 +314,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 h1:N+3sFI5GUjRKBi+i0TxYVST9h4Ie192jJWpHvthBBgg= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/containerd/cgroups/v3 v3.0.3 h1:S5ByHZ/h9PMe5IOQoN7E+nMc2UcLEM/V48DGDJ9kip0= github.com/containerd/cgroups/v3 v3.0.3/go.mod h1:8HBe7V3aWGLFPd/k03swSIsGjZhHI2WzJmticMgVuz0= github.com/containerd/containerd v1.7.18 h1:jqjZTQNfXGoEaZdW1WwPU0RqSn1Bm2Ay/KJPUuO8nao= @@ -355,6 +365,8 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= @@ -369,11 +381,11 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 h1:IgJPqnrlY2Mr4pYB6oaMKvFvwJ9H+X6CCY5x1vCTcpc= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA= +github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= +github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= @@ -436,8 +448,8 @@ github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -562,10 +574,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/grpc-ecosystem/grpc-gateway v1.13.0/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= -github.com/hashicorp/consul/api v1.29.4 h1:P6slzxDLBOxUSj3fWo2o65VuKtbtOXFi7TSSgtXutuE= -github.com/hashicorp/consul/api v1.29.4/go.mod h1:HUlfw+l2Zy68ceJavv2zAyArl2fqhGWnMycyt56sBgg= -github.com/hashicorp/consul/proto-public v0.6.2 h1:+DA/3g/IiKlJZb88NBn0ZgXrxJp2NlvCZdEyl+qxvL0= -github.com/hashicorp/consul/proto-public v0.6.2/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg= +github.com/hashicorp/consul/api v1.30.0 h1:ArHVMMILb1nQv8vZSGIwwQd2gtc+oSQZ6CalyiyH2XQ= +github.com/hashicorp/consul/api v1.30.0/go.mod h1:B2uGchvaXVW2JhFoS8nqTxMD5PBykr4ebY4JWHTTeLM= github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= @@ -670,8 +680,8 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -695,8 +705,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= +github.com/leodido/go-syslog/v4 v4.2.0 h1:A7vpbYxsO4e2E8udaurkLlxP5LDpDbmPMsGnuhb7jVk= +github.com/leodido/go-syslog/v4 v4.2.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/lightstep/go-expohisto v1.0.0 h1:UPtTS1rGdtehbbAF7o/dhkWLTDI73UifG8LbfQI7cA4= @@ -823,6 +833,8 @@ github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -849,8 +861,8 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O github.com/prometheus/client_golang v1.4.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -864,8 +876,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -882,8 +894,8 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -897,8 +909,8 @@ github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xe github.com/shirou/gopsutil/v3 v3.22.12/go.mod h1:Xd7P1kwZcp5VW52+9XsirIKd/BROzbb2wdX3Kqlz9uI= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v1.7.1 h1:UJcjSAI3aUKx52kfcfhblgyhZceouhvvs3OYdWgn+PY= @@ -1013,150 +1025,160 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:q8LQW1V9uUbZFzDKD0JTH92H6VRIaFcx2y/ooT44WyA= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:8CPsp2ek4qlcnaJEM3g/YQ6/2kNIwqDwO/wOmAgYvO0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1 h1:OH250Z/bXJTZjkeMwUERbLZiNPETlOxE3q4n536Kc4s= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1/go.mod h1:3QSnFvGq5jXXwSPi94x2ggBGPZxdtD0lxpPOpV3RZRc= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 h1:qt3Ew48qyCQVMrpjCWkQu1N4RzghQUZIxV4X+TBs4ZE= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:iNMJ4W+R9LUqr8uyeEIthuOKVEQBMYS32ePBza3Ofbk= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:DSgsLqj0L0m7rQdzWsC/fvE4qvzJSggqmaur0wGucZ4= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:CSvxn55s4JFEEJ0UoYoXbj8XoBFl7Oj26bAE9kAcNTE= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:FgbrQxhUTqcizMI+3s91kPONM1WX+JOFCL9ghzWKe2c= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2VxvUC07PujwiYY1KjJjgEFJ0kiY2pAs+slZbtct2t8= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:MMCQJrhmZU1QEzWWodPgsHg/hJ+fXwTb9jc4nYTP6aY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0U6x1xcDuvHEgoH/2TzEmbsG47VwpK2FPD0L93DTxFQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 h1:ZWEsXeCbNUP4GXRvlkVXBpqIH9rNtnk1knZDORo/7zA= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0/go.mod h1:76mYXizxjo8rcRsvyTuNtPykVuqmZWGcV6lGs7+++J8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 h1:529bKb9LBG8WJYxLJikl6/yUoJ+EB7BYkg3cagh/slI= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0/go.mod h1:GQgYpmD2rIGwSNd0Lz5tbVzuEyj9xdmqPN0xbkCYtts= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 h1:ZB2PoClyiXsIs6k7RxmpEtduWWjT01pQ8joXWiJ0kzo= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0/go.mod h1:q5RafpmzsbsAhs0PCz6jbMOl7XYkp0f2NYs4lxQbkOI= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 h1:Suz/1SdAyeY+UPKJDt9RuWGxUOu8p2P6bhuon00VhGU= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0/go.mod h1:DVhlqmbajKH3JjJuW727d7FUkkLhyY/QcaL1xn9NREk= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/filter v0.112.0 h1:xX0MIfXOkbcWzCcmNqvtpnBDnSZAJmN1nQdyGZk1Or4= +go.opentelemetry.io/collector/filter v0.112.0/go.mod h1:ZcPbD9CLxqcQJ5D2dV2Ma0Hm2IKMOYggTLW8dDdZQSQ= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0 h1:u1hUa48x1qEONUSOtz8dx/c8oz74RpIHyWnGFJ7t0CE= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0/go.mod h1:BtHruDt40QTW8klZVQCqsVfhVsOkh6hDg5w1cPvLpeU= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 h1:Dq/RpdClawI8HrnSi177LziPjfHo733BWOCgRTbWrfY= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0/go.mod h1:QLQ31rGjPuMc/nGw4rL4HzQI9F0jVAPEmC342chxoqA= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 h1:+V+4OUcg1s3CrZpttT4dA+Uuv7VWpOIPQpOkcsrMBIo= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0/go.mod h1:f/eEZ3JMbRNLsRzNwATtTjuulDrLvhYMvXinLrmHtTU= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 h1:3Kd8zHKqytBpSvPo0cGi0iCfe5zTMpUgnsNsK9shDMg= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0/go.mod h1:1KqtFWaQ6duvMqk6mCdRPqySXPBr9Ubr0EW9lEr/9A4= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1164,10 +1186,10 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= -go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= -go.uber.org/fx v1.18.2 h1:bUNI6oShr+OVFQeU8cDNbnN7VFsu+SsjHzUF51V/GAU= -go.uber.org/fx v1.18.2/go.mod h1:g0V1KMQ66zIRk8bLu3Ea5Jt2w/cHlOIp4wdRsgh0JaY= +go.uber.org/dig v1.18.0 h1:imUL1UiY0Mg4bqbFfsRQO5G4CGRBec/ZujWTvSVp3pw= +go.uber.org/dig v1.18.0/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= +go.uber.org/fx v1.22.2 h1:iPW+OPxv0G8w75OemJ1RAnTUrF55zOJlXlo1TbJ0Buw= +go.uber.org/fx v1.22.2/go.mod h1:o/D9n+2mLP6v1EG+qsdT1O8wKopYAsqZasju97SDFCU= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -1195,8 +1217,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1285,11 +1307,12 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1300,8 +1323,8 @@ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1393,8 +1416,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1403,8 +1426,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1417,8 +1440,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1561,10 +1584,10 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1583,8 +1606,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1596,8 +1619,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= 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.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= @@ -1641,14 +1664,14 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/exporter/datadogexporter/integrationtest/go.mod b/exporter/datadogexporter/integrationtest/go.mod index d06d41a65b90..93c67d5d90cb 100644 --- a/exporter/datadogexporter/integrationtest/go.mod +++ b/exporter/datadogexporter/integrationtest/go.mod @@ -4,40 +4,40 @@ go 1.22.0 require ( github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d - github.com/DataDog/datadog-agent/pkg/proto v0.56.2 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0 + github.com/DataDog/datadog-agent/pkg/proto v0.58.1 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/datadogconnector v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.112.0 github.com/stretchr/testify v1.9.0 - github.com/tinylib/msgp v1.2.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.5.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 - go.opentelemetry.io/otel/sdk v1.29.0 - go.opentelemetry.io/otel/sdk/log v0.5.0 - go.opentelemetry.io/otel/trace v1.29.0 - google.golang.org/protobuf v1.34.2 + github.com/tinylib/msgp v1.2.3 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 + go.opentelemetry.io/collector/connector v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/otelcol v0.112.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/processor v0.112.0 + go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.7.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 + go.opentelemetry.io/otel/sdk v1.31.0 + go.opentelemetry.io/otel/sdk/log v0.7.0 + go.opentelemetry.io/otel/trace v1.31.0 + google.golang.org/protobuf v1.35.1 ) require ( cloud.google.com/go/auth v0.7.0 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect @@ -45,80 +45,84 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/Code-Hex/go-generics-cache v1.5.1 // indirect - github.com/DataDog/agent-payload/v5 v5.0.131 // indirect - github.com/DataDog/datadog-agent/comp/core/config v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 // indirect + github.com/DataDog/agent-payload/v5 v5.0.134 // indirect + github.com/DataDog/datadog-agent/comp/core/config v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1 // indirect github.com/DataDog/datadog-agent/comp/core/log v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 // indirect + github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1 // indirect github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 // indirect - github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 // indirect - github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 // indirect - github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 // indirect - github.com/DataDog/datadog-agent/pkg/version v0.56.2 // indirect - github.com/DataDog/datadog-api-client-go/v2 v2.29.0 // indirect + github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1 // indirect + github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/env v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/model v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/status/health v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85 // indirect + github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/http v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/system v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/version v0.58.1 // indirect + github.com/DataDog/datadog-api-client-go/v2 v2.31.0 // indirect github.com/DataDog/datadog-go/v5 v5.5.0 // indirect - github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe // indirect - github.com/DataDog/go-sqllexer v0.0.13 // indirect + github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 // indirect + github.com/DataDog/go-sqllexer v0.0.14 // indirect github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 // indirect - github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0 // indirect + github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0 // indirect github.com/DataDog/sketches-go v1.4.6 // indirect github.com/DataDog/viper v1.13.5 // indirect github.com/DataDog/zstd v1.5.5 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/aws/aws-sdk-go v1.55.5 // indirect github.com/benbjohnson/clock v1.3.5 // indirect @@ -128,7 +132,7 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 // indirect - github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b // indirect + github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 // indirect github.com/containerd/cgroups/v3 v3.0.3 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect @@ -139,11 +143,12 @@ require ( github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect + github.com/envoyproxy/go-control-plane v0.13.0 // indirect + github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect github.com/fatih/color v1.16.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect @@ -157,7 +162,7 @@ require ( github.com/go-openapi/jsonreference v0.20.4 // indirect github.com/go-openapi/swag v0.22.9 // indirect github.com/go-resty/resty/v2 v2.13.1 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-zookeeper/zk v1.0.3 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/goccy/go-json v0.10.3 // indirect @@ -180,7 +185,7 @@ require ( github.com/gorilla/websocket v1.5.0 // indirect github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect - github.com/hashicorp/consul/api v1.29.4 // indirect + github.com/hashicorp/consul/api v1.30.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -207,7 +212,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect github.com/karrick/godirwalk v1.17.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -232,16 +237,17 @@ require ( github.com/mostynb/go-grpc-compression v1.2.3 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.112.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/opencontainers/runtime-spec v1.1.0-rc.3 // indirect @@ -251,15 +257,16 @@ require ( github.com/ovh/go-ovh v1.6.0 // indirect github.com/patrickmn/go-cache v2.1.0+incompatible // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 // indirect + github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect 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/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.1 // indirect github.com/prometheus/common/sigv4 v0.1.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/prometheus/prometheus v0.54.1 // indirect @@ -267,7 +274,7 @@ require ( github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 // indirect github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.1 // indirect @@ -283,85 +290,89 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.112.0 // indirect + go.opentelemetry.io/collector/config/confighttp v0.112.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/atomic v1.11.0 // indirect - go.uber.org/dig v1.17.1 // indirect - go.uber.org/fx v1.18.2 // indirect + go.uber.org/dig v1.18.0 // indirect + go.uber.org/fx v1.22.2 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect golang.org/x/mod v0.20.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/time v0.6.0 // indirect golang.org/x/tools v0.24.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.188.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/zorkian/go-datadog-api.v2 v2.30.0 // indirect - k8s.io/api v0.31.0 // indirect - k8s.io/apimachinery v0.31.0 // indirect - k8s.io/client-go v0.31.0 // indirect + k8s.io/api v0.31.2 // indirect + k8s.io/apimachinery v0.31.2 // indirect + k8s.io/client-go v0.31.2 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect @@ -412,9 +423,6 @@ exclude github.com/DataDog/agent-payload/v5 v5.0.59 // openshift removed all tags from their repo, use the pseudoversion from the release-3.9 branch HEAD replace github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 -// It appears that the v0.2.0 tag was modified. Replacing with v0.2.1 -replace github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 - replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../../pkg/pdatatest replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest => ../../../internal/k8stest @@ -442,3 +450,5 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling = replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil => ../../../internal/pdatautil replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata => ../../../pkg/experimentalmetricmetadata + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog => ../../../pkg/datadog/ diff --git a/exporter/datadogexporter/integrationtest/go.sum b/exporter/datadogexporter/integrationtest/go.sum index 80a6b46186a8..ed88691f02bb 100644 --- a/exporter/datadogexporter/integrationtest/go.sum +++ b/exporter/datadogexporter/integrationtest/go.sum @@ -27,8 +27,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -71,167 +71,173 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= -github.com/DataDog/agent-payload/v5 v5.0.131 h1:i5l0FLY+rpVzS1hBrwR0NxQOmIg+ypXDi7xytGXnaBM= -github.com/DataDog/agent-payload/v5 v5.0.131/go.mod h1:FgVQKmVdqdmZTbxIptqJC/l+xEzdiXsaAOs/vGAvWzs= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2 h1:RUbkDO8Fa67vuKVqQgK1iBk4oM8PtjG09I1w/UdAZUU= -github.com/DataDog/datadog-agent/cmd/agent/common/path v0.56.2/go.mod h1:wA3ZO6a8v0tuHLj1aT0eKcBmZY7QmuThxEVQTf6gEPY= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2 h1:EYLWks4f2GeqzwvhyvfhARVpmBRQaoKARvnbKoSk7Kg= -github.com/DataDog/datadog-agent/comp/api/api/def v0.56.2/go.mod h1:B7o1FsKlzr4JSS+CYKYuyABr3eaaq2W7fIA56ntxGHQ= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2 h1:HqmPb8Qy4gAKdKB8Nrt3FzD5BWatxr6vUVO4//Wf/JY= -github.com/DataDog/datadog-agent/comp/core/config v0.56.2/go.mod h1:njrswNWNeJqFot4U31iWy6DFzm4Bg1PWkt2yEh9hfGU= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2 h1:wIGNGeNJPaX7byBWBPnaL4clGAEeIl3IR4o/v+vGIno= -github.com/DataDog/datadog-agent/comp/core/flare/builder v0.56.2/go.mod h1:oPs3OkQOyKRX/kERWQGMpIHG6j9J5kIlBdm2R6OyWHE= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2 h1:3SeIZmDiXPKGNJKHF2C7KNWjuCM1vLJ+vBtWKpIsrqU= -github.com/DataDog/datadog-agent/comp/core/flare/types v0.56.2/go.mod h1:SUizcQZHTU7Aezk/XKiZjPpt7Ng8x4AsAcr5PlxyP7w= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2 h1:t+w11Lqi5XvUpqKGx1GKzlc//1it9H31JOUiJViWUpA= -github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.56.2/go.mod h1:YJDw2LKcZMO8aSsCrLZm7ZYSOyc/1sNfSE2xv+T5pu4= +github.com/DataDog/agent-payload/v5 v5.0.134 h1:h0oP3vDTOsjW1uKIZxKsCjOV/40jkY2Y+42GKAVH9ig= +github.com/DataDog/agent-payload/v5 v5.0.134/go.mod h1:FgVQKmVdqdmZTbxIptqJC/l+xEzdiXsaAOs/vGAvWzs= +github.com/DataDog/datadog-agent/cmd/agent/common/path v0.58.1 h1:qCxfW7qyhhsdJnGQQzVXOrILt9jvhzo+v2Hm3tcdIXM= +github.com/DataDog/datadog-agent/cmd/agent/common/path v0.58.1/go.mod h1:LgVdZDnVJLlQyZy+F3gcXlahFQP+d0CBsHA1H7PX9zw= +github.com/DataDog/datadog-agent/comp/api/api/def v0.58.1 h1:C7wPyBs7C8nWkTelRv3ihemiwbTiQV2Huo8NAJsunTc= +github.com/DataDog/datadog-agent/comp/api/api/def v0.58.1/go.mod h1:9vuv+8TTwPN8fCdKeHztCViIZI0PE3JPNb7mrSkN6YI= +github.com/DataDog/datadog-agent/comp/core/config v0.58.1 h1:XMhjjeclNRy4nzCvl14ghTCGhKEqWA9M8FhrVB+YAqU= +github.com/DataDog/datadog-agent/comp/core/config v0.58.1/go.mod h1:V9vNFazrr5yEj8i9z4BR1wqNgny8n0O22quVWkK7KH0= +github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1 h1:Q+2izdaeFpqtEeLaMyD5cuv9Db6fAelD07jESXLbaPs= +github.com/DataDog/datadog-agent/comp/core/flare/builder v0.58.1/go.mod h1:uFVwSuJH4LccQcHY02jVCDeuT7o7/YNzNfUhsMm7iv8= +github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1 h1:t75NGqyCMV8BEPfnemnLcMP6RbbalkNemt0PY6ypDUY= +github.com/DataDog/datadog-agent/comp/core/flare/types v0.58.1/go.mod h1:t4ToNFTlcVXu7SRWyKnOwZCUPEe/R3M07d9ugGQlEt8= +github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1 h1:w6frETj5GpqcQSgWYmlzdCeFGLOhJ5DP4ly0Hg4KXv8= +github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface v0.58.1/go.mod h1:KVkaJZupoHcZUUP0b142c9ce1823f48mkv4D9QeWASs= github.com/DataDog/datadog-agent/comp/core/log v0.56.2 h1:qvBT+FfjKGqimyEvmsNHCZKbTfBJAdUZSVy2IZQ8HS4= github.com/DataDog/datadog-agent/comp/core/log v0.56.2/go.mod h1:ivJ/RMZjTNkoPPNDX+v/nnBwABLCiMv1vQA5tk/HCR4= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2 h1:6/FSx8WPy/L86LFPWB0YPsiWLvIvcvFbWnba/PDkeo0= -github.com/DataDog/datadog-agent/comp/core/secrets v0.56.2/go.mod h1:gIs5mmRdE2epD1iYxNvdx2EhXrUfa2jebR+CU+0vYCo= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2 h1:oMhfpqlRYwyhUdiN/mQRvI/aWkQERsGWBQscdDwQZ3A= -github.com/DataDog/datadog-agent/comp/core/telemetry v0.56.2/go.mod h1:YkMtv/JWcPabF1jGiReg6eCuFYXyFi5PxOMoNTlFiJs= -github.com/DataDog/datadog-agent/comp/def v0.56.2 h1:EOQj5viXX5l47Su32muRE5uILjdNDsgiOcEqsi6BNgc= -github.com/DataDog/datadog-agent/comp/def v0.56.2/go.mod h1:DEWoZ2fdGE8yy5Q/p8w06DLm3cBWxW8i9a/xNUxE2qc= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2 h1:/II2MLkmHKsm/myoui8NIp55mY1gnoOGlEmYTtLvjdw= -github.com/DataDog/datadog-agent/comp/logs/agent/config v0.56.2/go.mod h1:q0u4J9s2y0AcqcUHOG1gk4NlgxbVD5G8c7BNKNoGrro= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2 h1:SXJCwx6giD8IeQLyVX62gRysBEHx3vczkprPmln1knk= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.56.2/go.mod h1:0o4qKCsmoFkYSgOTKL5UMR1/Ig0pX4bA6gJZjuu8/K4= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2 h1:P1u8lJDnCHiWc0vvvvm9JB36fRFJ2eSvD9ajVo0x1r8= -github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.56.2/go.mod h1:hruCkJ5hCU6LZ5jkdnST3BHanHeQ73ewPAWIW/oZVmw= +github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1 h1:wptv/dRe52IlFCayDURcGv6Qqm7GkMjKuaWxi1U7sIU= +github.com/DataDog/datadog-agent/comp/core/log/def v0.58.1/go.mod h1:uFF83DUAQYoQKKdddr6ptnCPiRik/lr9y+B2JxgLWRs= +github.com/DataDog/datadog-agent/comp/core/log/mock v0.58.1 h1:9nYkfgNzTr+dBdbwA3DTn+AFaa/cvckF2IXh4PQHDoQ= +github.com/DataDog/datadog-agent/comp/core/log/mock v0.58.1/go.mod h1:qiV16tfwbVFcnxs4iYwCq6pm5lUB61zbpkOY0jeN3+o= +github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1 h1:w9xjHRoQB8AaFBsevSaVQDRVP+xyLzj8Qrn2D6C+edM= +github.com/DataDog/datadog-agent/comp/core/secrets v0.58.1/go.mod h1:j555JcL/6ZnoOZ8HCsJhQJyve5XYqN1sofrnUBot9oU= +github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1 h1:p5kJdvUS2JpZnsHK93OwO6FYZD8qPeOi2McD5qY1I+U= +github.com/DataDog/datadog-agent/comp/core/telemetry v0.58.1/go.mod h1:uysZ8Wyrc467/T+crgZl5qTrcD7ZaKVGOI0I5wcLziM= +github.com/DataDog/datadog-agent/comp/def v0.58.1 h1:a/H9ZuJBH4a2/9yiOFuvhZpa5Ve2uXuFA2t1kuLquss= +github.com/DataDog/datadog-agent/comp/def v0.58.1/go.mod h1:2xorAm6FmIl275/ayDZSUg53Hz4oQ/X8ELyp7I1N3fM= +github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1 h1:Hn3ZL+/mKwrU8YxbrlNVx5gbCPOQnGrpP2CLfPYPPGA= +github.com/DataDog/datadog-agent/comp/logs/agent/config v0.58.1/go.mod h1:ebZc2pxI00zxkm+JKrXGh7Ux1NXTLtI7hO73077sZ+w= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1 h1:eT1YJ1DC1tZkWAklk3JeJgd1m3yMNCrhfi5pq0D7bHA= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline v0.58.1/go.mod h1:B0L+mSxgJlVDGgjs/8xsEMrN0nxStRjxQjHB1UbvC7M= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1 h1:sJt2fJIm+96b/4nJz/HSwBe16Ptp0gDqkU+OF8GhsCg= +github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl v0.58.1/go.mod h1:XmC/ksPgWEE2OmOdzoHg5wbiDh2pFeGopH5Kg6uF0Rw= github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27 h1:yBmr913VGRz/PFcpLVnXGTQQu7tIB+jMQ8Sss7936qk= github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/exporter/logsagentexporter v0.58.0-devel.0.20240905201012-b02662b2ba27/go.mod h1:niRElZ9+yd0uG84z4Az+da3JX9UpRu5MrbB32KtF4xI= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2 h1:TmEsHhs1mcKsiWTK08aYvZrNZqlbs51FwN6yQVMe7No= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.56.2/go.mod h1:D56XSQiApc7kNzkF2FCJG/6D/8SV3jhdWqe0dDSRGoM= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2 h1:WTK6fTNgSCuVrz3dngS7R82rq9SVI+E8oQehd/2eEU0= -github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.56.2/go.mod h1:tXejTCnqylzUGUBmFF8tcinp+nPCeMqL350Nl/qV5DU= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1 h1:RJ5Nf2NunhMfMIl8xLiiLKzly2eyILwdlI645wU3rww= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient v0.58.1/go.mod h1:+n0h11ZT+xyHcylRCnn8sBVW0m7Zn/PE6C8r1IbFMik= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1 h1:KA090W6qxCIfqXxulOX7rEiv00VBhYLf2+vjGiaodfQ= +github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor v0.58.1/go.mod h1:U5EqA7GQg6vRzZGCqgDcW/kZ5ggNaT+53I5Yif5EAaY= github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d h1:wdjJ+/tBYiFLwno+lBPP66rm5jIf6ycGPRr21ogBBzE= github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil v0.57.0-devel.0.20240718200853-81bf3b2e412d/go.mod h1:CHa8CY2k0/wZkx/4KPi/WU/0m5YCfWZI1SAs1imElMA= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2 h1:sp+1EdyRYwAygX6FzVxl0V1vQCdfOJMHfsQavkZlXus= -github.com/DataDog/datadog-agent/comp/trace/compression/def v0.56.2/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2 h1:NV9Grkuvy5W3ye7JRczn3lpNRn+qgUMwGKuwP9nKcqY= -github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.56.2/go.mod h1:K1IRoBfCpCikrKNSXi+fi+X0ukAP0ZoyoTF5AovP11c= +github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1 h1:8+OWYB+Z7qNsC+DAcQLeWJ5rDh8FyZfVbgIc5jScXPA= +github.com/DataDog/datadog-agent/comp/trace/compression/def v0.58.1/go.mod h1:samFXdP0HVSwD223LPLzcPKUjRQ6/uwr/1wMPo2HhRg= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1 h1:2AvGJDj3UNfA2F0dr4kOKOoDbiBiwDFfAYTMpnRDs18= +github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip v0.58.1/go.mod h1:ubORopslgVNCvOIVTYmMDwov3xiMZPIdwUq5VZhDvQc= github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3 h1:Hq2tQTaFcEJy9o1QFb9Ql/gm0uRzrYQkFEZGPVKLMHI= github.com/DataDog/datadog-agent/comp/trace/compression/impl-zstd v0.56.0-rc.3/go.mod h1:TOlu5v8b46+aW9h3KLZdOiwz3gJkoQerT3+F3st6ZRA= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2 h1:OWZmy3BPMkjDjDp+mIYdGS+jjFUx3jK/sDJI/AjtvaY= -github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.56.2/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2 h1:TWsAiPjYKomf5FqRodShgzRRI+oP/537/myvW5GIXT8= -github.com/DataDog/datadog-agent/pkg/config/env v0.56.2/go.mod h1:1gXwnxusuGZQim0dtfidr7P1R/WGZGwY4HJvLKJUqMk= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2 h1:sgipVv0WUoKO9RNSYFhNXH4wicevfU+yti8+rZDClFo= -github.com/DataDog/datadog-agent/pkg/config/logs v0.56.2/go.mod h1:RA+h+P2M7BlBeU+XVuZXhTj8lzjXdEoCLP28EkcYV8s= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2 h1:XjB3XpimhNFgHYztUZAFTbSg7G3BzbVqAdYhbf3OSEs= -github.com/DataDog/datadog-agent/pkg/config/model v0.56.2/go.mod h1:wm7zXdwf0zknLgc9lpz2H70fRP2xA9WHL0LEscxtDXQ= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2 h1:WMKs6IwIUpPrZ8KoiTL2Dw6y7UUQJs8v7VkuZc1s0jA= -github.com/DataDog/datadog-agent/pkg/config/setup v0.56.2/go.mod h1:fYK7gt2JvuTmS5JeGCxui1Id8ZFkv2PUJrdnBvNhlxQ= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2 h1:nhTqSjxsOTf5UsSkWY9SxRRpN+qsiV5/I4MrSyjVuc8= -github.com/DataDog/datadog-agent/pkg/config/utils v0.56.2/go.mod h1:s0ndzOnxWvO1TSdrhEtjXtnjb838Pkzxj0AmHpiKK7U= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2 h1:VIlQd7UBq3oUoUbpRmiwIlkDZuGvAXS/wUXU6xmezwk= -github.com/DataDog/datadog-agent/pkg/logs/auditor v0.56.2/go.mod h1:Vm8HdkHHpEwZhixY0oPWsx0+EidhSaMTF7tN9yuMPFY= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2 h1:1qg4WagIl2qtKcq9cVL2fRBhqvYQ5DuYaY7cFJ+293k= -github.com/DataDog/datadog-agent/pkg/logs/client v0.56.2/go.mod h1:Wb8Rxw8BdbLQPzwNXtpWUO9+bBfZhyB63/8oYFLv/GQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2 h1:0AF1X1OabT8vCTYK3Aim122xkg6bAMUJXYTcH/RL7pQ= -github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.56.2/go.mod h1:AFPiROajOY3I6akR+WsKwGIriBPiTHRBfx8tmw8hGRw= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2 h1:iduodazC+WDi7ZzRKYZvzFNq2GsxtgIgrzkwK19//3k= -github.com/DataDog/datadog-agent/pkg/logs/message v0.56.2/go.mod h1:Qrr7ursqqUvokjJTBklUzL3Vk1THLi1NMpUhY/jGKEc= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2 h1:0aETddrtn7SOZqCX9tOEiRgPgKKG2u9X9YMnNaboQYM= -github.com/DataDog/datadog-agent/pkg/logs/metrics v0.56.2/go.mod h1:mVRXyOp9oiPkj43jRt3r/iTL+XuScLKJjv3MzDvB5eQ= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2 h1:vuZjsCYaGwAazLKiLSHqCm/fsGeRmONN/rIneQWEXBE= -github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.56.2/go.mod h1:YX4mkRMvBjp3/X+8Lf39g/AntSZurqL6UIYdJdK2k/M= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2 h1:AJoG4f9WoOgYnzmk12gY5TjPsS+lZTg9wK90oWEhtlU= -github.com/DataDog/datadog-agent/pkg/logs/processor v0.56.2/go.mod h1:9XZDNW8LRR1yk/H8QvVmHNAEkrtEDXrsgEKd7WdU3pc= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2 h1:coxL4HfNDRh9KCIHod9vMT5iBkmU0LV3U4xcHmZ9YCk= -github.com/DataDog/datadog-agent/pkg/logs/sds v0.56.2/go.mod h1:vBywuPyeY7FAW+bpIqAoVKIBxX4JoIQ2GDaAtVgMk24= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2 h1:Ky5KX2o++a7hGkyiNBwqDGODrhBI7LmLZXtnFCjS8Ic= -github.com/DataDog/datadog-agent/pkg/logs/sender v0.56.2/go.mod h1:IhlLrrI3hWySfPYFMqtlY9kNg4ECz7ojpviXJhdILbQ= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2 h1:KjrdVk+88cnPk2iWOz2Go1BZlLW0ulrPBNlq2oiStC0= -github.com/DataDog/datadog-agent/pkg/logs/sources v0.56.2/go.mod h1:cQ/XredS3KBuGthDWqwOhiwkMGStRCjt6VuEJMVvfTc= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2 h1:DLgBADfWqBrhM8n5DRg9UvrnxYqU+BW3QvvUGAqkpRA= -github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.56.2/go.mod h1:PaduNrh0GJ3UEKG30VMu0M6hi7KuYf3VviLdIG9xV9k= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2 h1:f1aTHRfL7YToK03+xmBACsuOwHYZoqP74PdYoNJL2x0= -github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.56.2/go.mod h1:p2NTG+cIhVGlKELJfRteGCec37ICptIpeB2x/MsRkbw= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2 h1:GhiXTsuUbGloQh7Um5AX0JmggwDn9/x0icWOTNEjovI= -github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.56.2/go.mod h1:Ple3tPG2mBALotrP7KH/A6CY7M+3npX6+/Zl5bwY7EM= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qcg03KcP2v/dkFnuEy+qC0jWgZi1SP4jfx/BOpL0ayY= -github.com/DataDog/datadog-agent/pkg/obfuscate v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:icOxQ1JBek3L0WCQXsKD+VhRc3S0rn71/bUkt6tKVSY= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2 h1:i6zUPUGL6QWZVxTAsFBvTcn4GSPRY3dnqPBC6kiEsB4= -github.com/DataDog/datadog-agent/pkg/proto v0.56.2/go.mod h1:HG4/o+jZ2T6+bhTOKQj+3ikKGhFLWTp5Kib9swNxTeY= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2 h1:c+KHCZcoUBhjNpoYkpys4v/eN4Q+eEktUE2vyhVHKw0= -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.56.2/go.mod h1:If8HaT8MFPv9NdWDtaQfEy1OUB6RiMFeQwLSay7G91U= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2 h1:XbVTbfBXqCnr48Yg3yFfBRzP3B/Y1yS5pqpKJX59RU0= -github.com/DataDog/datadog-agent/pkg/status/health v0.56.2/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2 h1:jda5gGyoU/lXVqQsr1xv+z8K8ujLX4MppiMNtMH5chQ= -github.com/DataDog/datadog-agent/pkg/telemetry v0.56.2/go.mod h1:u6BWbLlCuVOu77ntX0x5af1qNISD0wtMj5c6ojfHQyk= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951 h1:qEUqimASiw9IfkDKxHqcZ6M6w0TREBGPVlePP3Ng/No= -github.com/DataDog/datadog-agent/pkg/trace v0.58.0-devel.0.20240830155027-f44a9da12951/go.mod h1:6oieT7MVbPg52r1pHQkiNavDIK7pN1ZKsudT9s0kLzY= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2 h1:AWmZSmqPmm2QHsQtmB6MiNaq0ssp9/4fhq4aiGqJ1Sg= -github.com/DataDog/datadog-agent/pkg/util/backoff v0.56.2/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2 h1:myVkrQcWHHALBxNVO+BE88IvF/MmFNXEusb59dWAG0k= -github.com/DataDog/datadog-agent/pkg/util/cgroups v0.56.2/go.mod h1:JkzBRRIF14HkunWu+gPPCQxm4FW8dDg+6ioBDaKYdco= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2 h1:XN+YzFS2mUF9OYrxQIPZdgiYhJzc+CUZgrXs8WL8y/A= -github.com/DataDog/datadog-agent/pkg/util/executable v0.56.2/go.mod h1:mSSn2OzsdgoUnPyBmF8rEDU+ee1RFp+H6LFsJSteN9o= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2 h1:Lhy+q1zl9EQSM97ixD770xwFirtPF/69O13qnO8OxHo= -github.com/DataDog/datadog-agent/pkg/util/filesystem v0.56.2/go.mod h1:GD+HjlsNGhPAjAYrNjt/XXq+lHgor1Piia+Mlat/97s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2 h1:FOnoG/i37bWlZfVhS/a1icX83dUtSCsixZYi3qTxT1s= -github.com/DataDog/datadog-agent/pkg/util/fxutil v0.56.2/go.mod h1:bI6jSFleEMzkMlm+dmjNs4T7a6R9PDIgWdAyW6cIBkY= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2 h1:1lgz81YwRXqGqYqX65mTDBHWLgpUBP67giv3sVthYig= -github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.56.2/go.mod h1:g+gn4N6q/QoVjAvMFWJFcTc8nnwVx2LqaUEoj0Y/MSE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2 h1:yu88zoYRzyd0EK4F7bJ39D8ibJa82y+x4u0JHeeQoxE= -github.com/DataDog/datadog-agent/pkg/util/http v0.56.2/go.mod h1:jVsNYokuDBLoj/5SMCrjmtZc+yfiBBfHN7Nkhw9VJdI= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2 h1:dcdsyPFTHFr+Cl/OfNt5VJWZl/TY0Xo5KYTDD316Ep4= -github.com/DataDog/datadog-agent/pkg/util/log v0.56.2/go.mod h1:DWliXBL5ROdWFjUHuh5fh5ve5zHydidMM/hE/w3j/Ww= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2 h1:ZxVlp133lU1sxOSOC3Qk75ADTXLkVMiubE/+Fpsd5Jk= -github.com/DataDog/datadog-agent/pkg/util/optional v0.56.2/go.mod h1:xWT/KJdJg2/0pZyAKZ6XmIiE5sM+AyUo4qvKuPHQ17U= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2 h1:LkFVlpKVHvefsAYtUUA87gYBO6D0KC5ncB7tFsBJFJM= -github.com/DataDog/datadog-agent/pkg/util/pointer v0.56.2/go.mod h1:t1DlnUEMltkvwPLc7zCtP1u5cBDu+30daR2VhQO5bvA= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2 h1:RPonaHh3OKj1VCmaBJWYhrlS4m+VXvJAW/LuDwcFXG8= -github.com/DataDog/datadog-agent/pkg/util/scrubber v0.56.2/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2 h1:9oHsY5RiebLoONStzy1OTG168WvPMnF8rU9TCgn/v+Y= -github.com/DataDog/datadog-agent/pkg/util/startstop v0.56.2/go.mod h1:IkqOyNbrg9hXqCMyL+g+Ldhz4q6VVOPqbHQxS4lLiRs= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2 h1:lf2s/5Z8FQlMDK+881Dg/UIIQbHBdDM0gu/PJwPSgE0= -github.com/DataDog/datadog-agent/pkg/util/statstracker v0.56.2/go.mod h1:Et2HSDjQvMhgs9ZdH7T5I4q04g5Fj23EtmeIaen/9/M= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2 h1:yPztPIEPPeDgxJoOFVVR9lcIA2NF8ScGdplU2puav1U= -github.com/DataDog/datadog-agent/pkg/util/system v0.56.2/go.mod h1:AbeAoUquORgGoRhQ9hDqJO/n4nCw7+/k5dgq/ZysWWI= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2 h1:EQuMMdAd7uTeYCcHsyL6mUixMGtcU0PiAjea170xEAA= -github.com/DataDog/datadog-agent/pkg/util/system/socket v0.56.2/go.mod h1:tBwAMDAEJEaZ5VNe19GJoLLzviZGOPUJH0WnzETWhyY= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2 h1:P4u0CtJqWV0xJ3N+smRjktS/IlZlf4jMMHdcuSUw3kQ= -github.com/DataDog/datadog-agent/pkg/util/testutil v0.56.2/go.mod h1:m/uWLdpGEi3x/5gybZFeYNEnIdKhGtWW8kFZuM+GSFA= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2 h1:5Cg+O4+Npt8BMuot5KpRdN5TVw9lqRxUBkcr6W9Bss8= -github.com/DataDog/datadog-agent/pkg/util/winutil v0.56.2/go.mod h1:lZaWAGe78MiYFRHwbHS1NikRXtiYz3CsEiYbyMJyPTk= -github.com/DataDog/datadog-agent/pkg/version v0.56.2 h1:gUTMxa47ARBNxIex1g40Gi3xprhq1QMMvzqsP3yxdNw= -github.com/DataDog/datadog-agent/pkg/version v0.56.2/go.mod h1:rcA7LtIB5WLpxsems/bWO1iXkyGEgHHje7vJ0b20ZpU= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0 h1:b0vTasEPUc7FuCKaRFqbJB+88IdWL/f7LdKcasMV8Vo= -github.com/DataDog/datadog-api-client-go/v2 v2.29.0/go.mod h1:QKOu6vscsh87fMY1lHfLEmNSunyXImj8BUaUWJXOehc= +github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1 h1:LB9F2ZdoALCYujG/TDMrCoDi7IL05tNlhD/BQb7RL/0= +github.com/DataDog/datadog-agent/pkg/collector/check/defaults v0.58.1/go.mod h1:s9QBNtoBURzy/0FeBInQ7kawNj04OnBNUo8xYr26z3E= +github.com/DataDog/datadog-agent/pkg/config/env v0.58.1 h1:YhKbV1EfmgLEFfoeRqr7DqdpBzV+30DaIeHu7xGnapc= +github.com/DataDog/datadog-agent/pkg/config/env v0.58.1/go.mod h1:6FCvy/nHjY3E13LqVFhKdrwkdD59sAMCoUESvNC/8QE= +github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1 h1:Qbkey2DK4WTjlFORrEsXzBca4TxKiQ7Jq7dCicRBYmE= +github.com/DataDog/datadog-agent/pkg/config/mock v0.58.1/go.mod h1:fmG7tclqfAQDBu0CLKlsy3+GOUeXfI5HMzYrvwOXmdk= +github.com/DataDog/datadog-agent/pkg/config/model v0.58.1 h1:Imt01AqHsNQUJA3GYJ7lrFQGwLxMz3WCS3+nmJNWiwc= +github.com/DataDog/datadog-agent/pkg/config/model v0.58.1/go.mod h1:B9tLaMWBCXO+2dYGah6Kh2CnXct/YOTBJ8AOOzCVYPY= +github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1 h1:mzman+9pntGbveBcSVtB2Mn7LHZKimjhulcYA5s4UY4= +github.com/DataDog/datadog-agent/pkg/config/setup v0.58.1/go.mod h1:/6fP610zDfmDnImPGbQLNtaEEFhyraqwh/kQN4uBy5U= +github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1 h1:nrVwOQA0/3Btluw9pl8qMPRkSTVM15hV9+XdvbqSaVQ= +github.com/DataDog/datadog-agent/pkg/config/utils v0.58.1/go.mod h1:7u3s+AJfoD0u0Zj8Y+pS3RqHw5xLPV/Iy+Ula0VqJoc= +github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1 h1:CWt5fCaKA+EpAViBPj7NhP/SIdFXWAYd/0FK5EbLKDQ= +github.com/DataDog/datadog-agent/pkg/logs/auditor v0.58.1/go.mod h1:SYA0dEleRVBhm7NfiI1+9nQRTxCuxfMFkS47Jwad2fY= +github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1 h1:YgGdHVCpsym4+l0M0TrTZtX41QURPaDr3+KY88aRut4= +github.com/DataDog/datadog-agent/pkg/logs/client v0.58.1/go.mod h1:1OVE8Ft8qZKhljwx/905Ks3QEH3kxsbzDjj/xO+yHTA= +github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1 h1:FSmQXdrJ9xbMsXrXjqhDkbe+HxetWJShl74HPWvW01k= +github.com/DataDog/datadog-agent/pkg/logs/diagnostic v0.58.1/go.mod h1:zHRKWkv9DnZOkzy5I/4/NC08VaK932KgV+ZTJG8T6J4= +github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1 h1:dGfGSczTFZ5XodbIEPDzuUtazwSqKjmO9c74l+lfOK0= +github.com/DataDog/datadog-agent/pkg/logs/message v0.58.1/go.mod h1:7KshFX6L4XyHYDHRzjJf8i30BD+/g31zazEW7B9YvYc= +github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1 h1:vEJOgkln0gnEnhuc1RGxWgJhYcIArjd6uUrpln7TxDk= +github.com/DataDog/datadog-agent/pkg/logs/metrics v0.58.1/go.mod h1:Cf1EuvbAxBJiCEjbo5YdwQm4lzvc538od81EivDKI2Q= +github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1 h1:1DOFEtbBB7rlY5hRYUkhqWY/7obpfFurEAezqx3MLSk= +github.com/DataDog/datadog-agent/pkg/logs/pipeline v0.58.1/go.mod h1:eFHfGgbKKq0WxfH1ZTir1yuVjMj2e+7B/AoRhu2dFls= +github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1 h1:eKms4zIGeztAUp4KV47sBDvTVHUGIMISgYUqRe2xJPo= +github.com/DataDog/datadog-agent/pkg/logs/processor v0.58.1/go.mod h1:nZnAC/EpR50cwzKT0adh/aVZqOM+KjY9LP5QjxYWkzc= +github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1 h1:drola26wLanYu+2QsaLRjs8JYlqwzQ5CYT9HL69FRkY= +github.com/DataDog/datadog-agent/pkg/logs/sds v0.58.1/go.mod h1:Y7AVNkF1qk3MZNEcudr9TDmxZ5OajXGcCWW/rDV7FGs= +github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1 h1:HLufYwWJgayxGnk63n0HQKsOedfRuRDlFgRcfjZce40= +github.com/DataDog/datadog-agent/pkg/logs/sender v0.58.1/go.mod h1:w8TFbRe3cI9hMqg4gaRndsi34DhFtUPch85cyTbbIVA= +github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1 h1:1AOzIxGnxUzXNka2X1IF3dsraoKyZjDhvBNXzd/H0E8= +github.com/DataDog/datadog-agent/pkg/logs/sources v0.58.1/go.mod h1:MbjV4G8qwNuYmLV+VNvFzic8dhi3oJ4s6pRjnL++2mM= +github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1 h1:852RVSP9NwRWUKJDPdX1rwbvfbnmc7KW52um/vI94sI= +github.com/DataDog/datadog-agent/pkg/logs/status/statusinterface v0.58.1/go.mod h1:PaduNrh0GJ3UEKG30VMu0M6hi7KuYf3VviLdIG9xV9k= +github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1 h1:QKWAyvtXHvnBkaUUO0bK3OZEhRxjy8nkXSiR9OPxzW8= +github.com/DataDog/datadog-agent/pkg/logs/status/utils v0.58.1/go.mod h1:p2NTG+cIhVGlKELJfRteGCec37ICptIpeB2x/MsRkbw= +github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.58.1 h1:ez1UdNanPIANoaeaX1rxZ6BWtS4NLpW6z16Z6cnizmM= +github.com/DataDog/datadog-agent/pkg/logs/util/testutils v0.58.1/go.mod h1:r+PTdoz31HJ9CnYo1lehKtxbYNtVNdRl1w8to4GfeGY= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85 h1:+jlg745q9znKME0F2Y51QuPT9crQ02oIjUj3qVtV8IU= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.59.0-devel.0.20240911192058-0c2181220f85/go.mod h1:MfDvphBMmEMwE3a30h27AtPO7OzmvdoVTiGY1alEmo4= +github.com/DataDog/datadog-agent/pkg/proto v0.58.1 h1:e02xf1fucgUJhaeL3dV7tIlkqR7lgDLTuw0YU7bs2Co= +github.com/DataDog/datadog-agent/pkg/proto v0.58.1/go.mod h1:0wLYojGxRZZFQ+SBbFjay9Igg0zbP88l03TfZaVZ6Dc= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1 h1:SJGxzjjFuqQwR02i1w+WVQCvNqqeNEWXClARxLiqhe4= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.58.1/go.mod h1:jN5BsZI+VilHJV1Wac/efGxS4TPtXa1Lh9SiUyv93F4= +github.com/DataDog/datadog-agent/pkg/status/health v0.58.1 h1:YXkNMrpO4zGCMpka9FyH/K5qU4ZnSXgO2EgEbT60fsw= +github.com/DataDog/datadog-agent/pkg/status/health v0.58.1/go.mod h1:EkC/SgFR03BKwBitVV4dIuP+ofwPlUCkVi5K5k1Dh2Y= +github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1 h1:aW9M0G7rIbkJ1KAd85AEqCTnm/zuXBXcnywkiYyvfKE= +github.com/DataDog/datadog-agent/pkg/telemetry v0.58.1/go.mod h1:1s6YQn7CDkajI/H9oQL9IESuGLm1BEv8nOBPszPP5gw= +github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85 h1:NenBahnbhBDEMLwR5AfK54VLFidK34xcr61BX/t/8vo= +github.com/DataDog/datadog-agent/pkg/trace v0.59.0-devel.0.20240911192058-0c2181220f85/go.mod h1:SXT+/FonH8qi6U6YzrBERefqPXuxo4UTu4CEH6dU49M= +github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1 h1:bFq5Khge3NxXkBAFdbg20P8feHcFEmZoBcwbVfaFGy0= +github.com/DataDog/datadog-agent/pkg/util/backoff v0.58.1/go.mod h1:2RMfdYkKyeh8hXs6WgaamkkEyK35Xo55C4rFG4dO1k8= +github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1 h1:iIBqix7R3ScMJl/VuwqEuGgBdxgtfisBqtcrN2OAEsw= +github.com/DataDog/datadog-agent/pkg/util/cgroups v0.58.1/go.mod h1:YcPnoCJG+lITZJFfnRjR2BSlAE5jYgUFLcbQ2mDQ6rA= +github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1 h1:DFjL8kk3i5iT2IGVH6kAaZA2nbZwvXZFej7KKx1jb/o= +github.com/DataDog/datadog-agent/pkg/util/executable v0.58.1/go.mod h1:mSSn2OzsdgoUnPyBmF8rEDU+ee1RFp+H6LFsJSteN9o= +github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1 h1:sg6Yomy9PNVPmGEAxJOajcX9jsPh/BDaEoL/2RJTaKk= +github.com/DataDog/datadog-agent/pkg/util/filesystem v0.58.1/go.mod h1:FCT+cY6ET+CMdsS5dfCAvV9GUuuLda9axjqbnFJNdns= +github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1 h1:ktZGvl10inyuSbzNDGhOd7gNQOCj41afhQDrfw5M6eU= +github.com/DataDog/datadog-agent/pkg/util/fxutil v0.58.1/go.mod h1:RhQTOoV0kECZDqR3GPW+6XaOMieKgmsHB2E7o2carX4= +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 h1:lzV6MTx2an9dvS1ZiA3HjHdXFMBEPyR94G0ka+bV4hk= +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1/go.mod h1:w1E+8Vlj5hmfedxSezwJyY29X2uecrBlC+CHCVgi0wI= +github.com/DataDog/datadog-agent/pkg/util/http v0.58.1 h1:MmxSih3z2zH0iyYQ7ViO37xUvMpF2XZWYURWHCDSB5E= +github.com/DataDog/datadog-agent/pkg/util/http v0.58.1/go.mod h1:JeR/nRdRnShAxpdAQN2hhMQw64zzlF9uYmYAjOvqzvg= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 h1:J5ce1aQqwyorBqUzGuQVnDvTB0aiUOS94N0l6VV40E4= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1/go.mod h1:bDZiE0NzmmlgdXrwdFtJzmCuZNJ0f0/JXbOJ7WOJ2eY= +github.com/DataDog/datadog-agent/pkg/util/log/setup v0.58.1 h1:A8J/gNR4ArTl7sCrAsAwmjGwOl5E2NpB/33pu4sEz0A= +github.com/DataDog/datadog-agent/pkg/util/log/setup v0.58.1/go.mod h1:ehok75MGxlrn3lwArlwFShwJ+k2vvDyKKO7/187vZJ4= +github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1 h1:qAK08JIqCuUYkkgb+2g/38CK5HZxJycdK9eZrHH9caY= +github.com/DataDog/datadog-agent/pkg/util/optional v0.58.1/go.mod h1:xWT/KJdJg2/0pZyAKZ6XmIiE5sM+AyUo4qvKuPHQ17U= +github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1 h1:s+ZcsVFeVZ5Ro1AM6r6DRiw3fvlzQMQcQltIkjYj79c= +github.com/DataDog/datadog-agent/pkg/util/pointer v0.58.1/go.mod h1:t1DlnUEMltkvwPLc7zCtP1u5cBDu+30daR2VhQO5bvA= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 h1:fFQnuwiCxku+6PNaa2N5CCgyth87E4EM4emoo72pYao= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= +github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1 h1:A5zRpSmVgvi1oWabM2E0QtW0F+dHdI3vyJmxsjtxYpg= +github.com/DataDog/datadog-agent/pkg/util/startstop v0.58.1/go.mod h1:IkqOyNbrg9hXqCMyL+g+Ldhz4q6VVOPqbHQxS4lLiRs= +github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1 h1:0HpkHFWLd9EtfXs5/qTYhTrG1gCRL4eJYpx8nrl7yVU= +github.com/DataDog/datadog-agent/pkg/util/statstracker v0.58.1/go.mod h1:Et2HSDjQvMhgs9ZdH7T5I4q04g5Fj23EtmeIaen/9/M= +github.com/DataDog/datadog-agent/pkg/util/system v0.58.1 h1:8bUkKgP3U54tesa6q9sz/3+bCWzEp7Ut9SJqvt+PeEg= +github.com/DataDog/datadog-agent/pkg/util/system v0.58.1/go.mod h1:3piBklKk0g32OkoswgG+4hX+7hwASWOo+HGS767lUvQ= +github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1 h1:MURqn7scjqddntVTM6p2KoHf6umm3k7h0h63X5bYZ/Y= +github.com/DataDog/datadog-agent/pkg/util/system/socket v0.58.1/go.mod h1:Hp16ayANpEIMDhh2bQtHzUZKp3CbnK58+UkClmaEyYg= +github.com/DataDog/datadog-agent/pkg/util/testutil v0.58.1 h1:pdUXCai8VLXqyYYxuZ43uEfgv8uzbRE+TFEvi8MN4xM= +github.com/DataDog/datadog-agent/pkg/util/testutil v0.58.1/go.mod h1:m/uWLdpGEi3x/5gybZFeYNEnIdKhGtWW8kFZuM+GSFA= +github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1 h1:xXFZ8o3G1PAsa8uAvbOBPOMG9FYi8lNf7SmR8yJ7Ro8= +github.com/DataDog/datadog-agent/pkg/util/winutil v0.58.1/go.mod h1:5Izptk2xo5z5wIL6sAQw3erTweX8fEZIoKIc1Cxk6aE= +github.com/DataDog/datadog-agent/pkg/version v0.58.1 h1:R+hw9PnwuW6qPwAlyP6SG3DHXApxMIHklfE+AV02yig= +github.com/DataDog/datadog-agent/pkg/version v0.58.1/go.mod h1:rcA7LtIB5WLpxsems/bWO1iXkyGEgHHje7vJ0b20ZpU= +github.com/DataDog/datadog-api-client-go/v2 v2.31.0 h1:JfJhYlHfLzvauI8u6h23smTooWYe6quNhhg9gpTszWY= +github.com/DataDog/datadog-api-client-go/v2 v2.31.0/go.mod h1:d3tOEgUd2kfsr9uuHQdY+nXrWp4uikgTgVCPdKNK30U= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go/v5 v5.5.0 h1:G5KHeB8pWBNXT4Jtw0zAkhdxEAWSpWH00geHI6LDrKU= github.com/DataDog/datadog-go/v5 v5.5.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe h1:efzxujZ7VHWFxjmWjcJyUEpPrN8qdiZPYb+dBw547Wo= -github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240419161837-f1b2f553edfe/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= -github.com/DataDog/go-sqllexer v0.0.13 h1:9mKfe+3s73GI/7dWBxi2Ds7+xZynJqMKK9cIUBrutak= -github.com/DataDog/go-sqllexer v0.0.13/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= +github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42 h1:RoH7VLzTnxHEugRPIgnGlxwDFszFGI7b3WZZUtWuPRM= +github.com/DataDog/dd-sensitive-data-scanner/sds-go/go v0.0.0-20240816154533-f7f9beb53a42/go.mod h1:TX7CTOQ3LbQjfAi4SwqUoR5gY1zfUk7VRBDTuArjaDc= +github.com/DataDog/go-sqllexer v0.0.14 h1:xUQh2tLr/95LGxDzLmttLgTo/1gzFeOyuwrQa/Iig4Q= +github.com/DataDog/go-sqllexer v0.0.14/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc= github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4= github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee h1:tXibLZk3G6HncIFJKaNItsdzcrk4YqILNDZlXPTNt4k= github.com/DataDog/gohai v0.0.0-20230524154621-4316413895ee/go.mod h1:nTot/Iy0kW16bXgXr6blEc8gFeAS7vTqYlhAxh+dbc0= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0 h1:BSxE140Gynn3ZeH56ofYzv8I0X0slxGfuY5iyH1sHVs= -github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.19.0/go.mod h1:BaxI6A5wpYHicrxm/65NTpW6kHxHcO24M7CKmZEMilE= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0 h1:rP4hnNCufRM2OsnFy0Tf00r6mu19fcQxfVN4E1rD5mY= -github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.19.0/go.mod h1:66XlN7QpQKqIvw8e2UbCXV5X8wGnEw851nT9BjJ75dY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0 h1:TOcwknwAfubzVfGSC0VJX9C5LjC0dpQxM8ltVE/55R0= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.19.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0 h1:37H9gltcqOfrIaTD5BbgMkHdEQCphETz/s+ThFoxWTg= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.19.0/go.mod h1:PqMDslg4Fn+rzrFpPdagRARa/CbtLuNYYj7vGv+RfFQ= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0 h1:JnRJqpnG0tDVTsD9uU6Xk9Nh/ozuLa4emyR+t7WxIto= -github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.19.0/go.mod h1:OEECw1sTZq5HfYzpl5C8Md/8wjsnmxF5lxFmv3Ey2CA= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0 h1:SAczemPbq9qyzyi8Crd8MvEjYQXwsTUxR8tJlXLqnmk= -github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.19.0/go.mod h1:Rhxlru6B8yfLZ4VSjuAuMnWdPgP8X60kvRjrdt84iNU= +github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0 h1:jdsuH8u4rxfvy3ZHoSLk5NAZrQMNZqyJwhM15FpEswE= +github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata v0.20.0/go.mod h1:KI5I5JhJNOQWeE4vs+qk+BY/9PVSDwNmSjrCUrmuZKw= +github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.20.0 h1:e4XT2+v4vgZBCbp5JUbe0Z+PRegh+nsLMp4X+esht9E= +github.com/DataDog/opentelemetry-mapping-go/pkg/internal/sketchtest v0.20.0/go.mod h1:66XlN7QpQKqIvw8e2UbCXV5X8wGnEw851nT9BjJ75dY= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0 h1:fKv05WFWHCXQmUTehW1eEZvXJP65Qv00W4V01B1EqSA= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes v0.20.0/go.mod h1:dvIWN9pA2zWNTw5rhDWZgzZnhcfpH++d+8d1SWW6xkY= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0 h1:JLpKc1QpkaUXEFgN68/Q9XgF0XgbVl/IXd8S1KUcEV4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs v0.20.0/go.mod h1:VJtgUHCz38obs58oEjNjEre6IaHmR+s7o4DvX74knq4= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0 h1:b60rxWT/EwcSA4l/zXfqTZp3udXJ1fKtz7+Qwat8OjQ= +github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics v0.20.0/go.mod h1:6jM34grB+zhMrzWgM0V8B6vyIJ/75oAfjcx/mJWv6cE= +github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0 h1:0OFAPO964qsj6BzKs/hbAkpO/IIHp7vN1klKrohzULA= +github.com/DataDog/opentelemetry-mapping-go/pkg/quantile v0.20.0/go.mod h1:IDaKpBfDtw8eWBLtXR14HB5dsXDxS4VRUR0OL5rlRT8= github.com/DataDog/sketches-go v1.4.6 h1:acd5fb+QdUzGrosfNLwrIhqyrbMORpvBy7mE+vHlT3I= github.com/DataDog/sketches-go v1.4.6/go.mod h1:7Y8GN8Jf66DLyDhc94zuWA3uHEt/7ttt8jHOBWWrSOg= github.com/DataDog/viper v1.13.5 h1:SZMcyMknYQN2jRY/40A16gUXexlNJOI8sDs1cWZnI64= github.com/DataDog/viper v1.13.5/go.mod h1:wDdUVJ2SHaMaPrCZrlRCObwkubsX8j5sme3LaR/SGTc= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3 h1:cb3br57K508pQEFgBxn9GDhPS9HefpyMPK1RzmtMNzk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.3/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= @@ -254,6 +260,10 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 h1:t3eaIm0rUkzbrIewtiFmMK5RXHej2XnoXNhxVsAYUfg= github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= @@ -275,8 +285,8 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= -github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q= +github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -300,8 +310,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 h1:N+3sFI5GUjRKBi+i0TxYVST9h4Ie192jJWpHvthBBgg= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/containerd/cgroups/v3 v3.0.3 h1:S5ByHZ/h9PMe5IOQoN7E+nMc2UcLEM/V48DGDJ9kip0= github.com/containerd/cgroups/v3 v3.0.3/go.mod h1:8HBe7V3aWGLFPd/k03swSIsGjZhHI2WzJmticMgVuz0= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= @@ -345,6 +355,8 @@ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= @@ -359,11 +371,11 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 h1:IgJPqnrlY2Mr4pYB6oaMKvFvwJ9H+X6CCY5x1vCTcpc= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA= +github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= +github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= @@ -426,8 +438,8 @@ github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -552,10 +564,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/grpc-ecosystem/grpc-gateway v1.13.0/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= -github.com/hashicorp/consul/api v1.29.4 h1:P6slzxDLBOxUSj3fWo2o65VuKtbtOXFi7TSSgtXutuE= -github.com/hashicorp/consul/api v1.29.4/go.mod h1:HUlfw+l2Zy68ceJavv2zAyArl2fqhGWnMycyt56sBgg= -github.com/hashicorp/consul/proto-public v0.6.2 h1:+DA/3g/IiKlJZb88NBn0ZgXrxJp2NlvCZdEyl+qxvL0= -github.com/hashicorp/consul/proto-public v0.6.2/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg= +github.com/hashicorp/consul/api v1.30.0 h1:ArHVMMILb1nQv8vZSGIwwQd2gtc+oSQZ6CalyiyH2XQ= +github.com/hashicorp/consul/api v1.30.0/go.mod h1:B2uGchvaXVW2JhFoS8nqTxMD5PBykr4ebY4JWHTTeLM= github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= @@ -660,8 +670,8 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -685,8 +695,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= +github.com/leodido/go-syslog/v4 v4.2.0 h1:A7vpbYxsO4e2E8udaurkLlxP5LDpDbmPMsGnuhb7jVk= +github.com/leodido/go-syslog/v4 v4.2.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/lightstep/go-expohisto v1.0.0 h1:UPtTS1rGdtehbbAF7o/dhkWLTDI73UifG8LbfQI7cA4= @@ -805,8 +815,10 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 h1:jYi87L8j62qkXzaYHAQAhEapgukhenIMZRBKTNRLHJ4= -github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c h1:dAMKvw0MlJT1GshSTtih8C2gDs04w8dReiOGXrGLNoY= +github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -833,8 +845,8 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O github.com/prometheus/client_golang v1.4.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -848,8 +860,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -866,8 +878,8 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -881,8 +893,8 @@ github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xe github.com/shirou/gopsutil/v3 v3.22.12/go.mod h1:Xd7P1kwZcp5VW52+9XsirIKd/BROzbb2wdX3Kqlz9uI= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v1.7.1 h1:UJcjSAI3aUKx52kfcfhblgyhZceouhvvs3OYdWgn+PY= @@ -947,8 +959,8 @@ github.com/tidwall/tinylru v1.1.0 h1:XY6IUfzVTU9rpwdhKUF6nQdChgCdGjkMfLzbWyiau6I github.com/tidwall/tinylru v1.1.0/go.mod h1:3+bX+TJ2baOLMWTnlyNWHh4QMnFyARg2TLTQ6OFbzw8= github.com/tidwall/wal v1.1.7 h1:emc1TRjIVsdKKSnpwGBAcsAGg0767SvUk8+ygx7Bb+4= github.com/tidwall/wal v1.1.7/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= -github.com/tinylib/msgp v1.2.0 h1:0uKB/662twsVBpYUPbokj4sTSKhWFKB7LopO2kWK8lY= -github.com/tinylib/msgp v1.2.0/go.mod h1:2vIGs3lcUo8izAATNobrCHevYZC/LMsJtw4JPiYPHro= +github.com/tinylib/msgp v1.2.3 h1:6ryR/GnmkqptS/HSe6JylgoKASyBKefBQnvIesnyiV4= +github.com/tinylib/msgp v1.2.3/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0= github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= @@ -995,152 +1007,162 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:q8LQW1V9uUbZFzDKD0JTH92H6VRIaFcx2y/ooT44WyA= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:8CPsp2ek4qlcnaJEM3g/YQ6/2kNIwqDwO/wOmAgYvO0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1 h1:OH250Z/bXJTZjkeMwUERbLZiNPETlOxE3q4n536Kc4s= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1/go.mod h1:3QSnFvGq5jXXwSPi94x2ggBGPZxdtD0lxpPOpV3RZRc= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 h1:qt3Ew48qyCQVMrpjCWkQu1N4RzghQUZIxV4X+TBs4ZE= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:iNMJ4W+R9LUqr8uyeEIthuOKVEQBMYS32ePBza3Ofbk= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:DSgsLqj0L0m7rQdzWsC/fvE4qvzJSggqmaur0wGucZ4= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:CSvxn55s4JFEEJ0UoYoXbj8XoBFl7Oj26bAE9kAcNTE= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:FgbrQxhUTqcizMI+3s91kPONM1WX+JOFCL9ghzWKe2c= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2VxvUC07PujwiYY1KjJjgEFJ0kiY2pAs+slZbtct2t8= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:MMCQJrhmZU1QEzWWodPgsHg/hJ+fXwTb9jc4nYTP6aY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0U6x1xcDuvHEgoH/2TzEmbsG47VwpK2FPD0L93DTxFQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.5.0 h1:iWyFL+atC9S1e6MFDLNUZieyKTmsrvsDzuozUDbFg8E= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.5.0/go.mod h1:0Ur7rPCJmkHksYcBywsFXnKBG3pqGl4TGltZ+T3qhSA= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 h1:ZWEsXeCbNUP4GXRvlkVXBpqIH9rNtnk1knZDORo/7zA= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0/go.mod h1:76mYXizxjo8rcRsvyTuNtPykVuqmZWGcV6lGs7+++J8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 h1:529bKb9LBG8WJYxLJikl6/yUoJ+EB7BYkg3cagh/slI= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0/go.mod h1:GQgYpmD2rIGwSNd0Lz5tbVzuEyj9xdmqPN0xbkCYtts= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 h1:ZB2PoClyiXsIs6k7RxmpEtduWWjT01pQ8joXWiJ0kzo= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0/go.mod h1:q5RafpmzsbsAhs0PCz6jbMOl7XYkp0f2NYs4lxQbkOI= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 h1:Suz/1SdAyeY+UPKJDt9RuWGxUOu8p2P6bhuon00VhGU= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0/go.mod h1:DVhlqmbajKH3JjJuW727d7FUkkLhyY/QcaL1xn9NREk= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/filter v0.112.0 h1:xX0MIfXOkbcWzCcmNqvtpnBDnSZAJmN1nQdyGZk1Or4= +go.opentelemetry.io/collector/filter v0.112.0/go.mod h1:ZcPbD9CLxqcQJ5D2dV2Ma0Hm2IKMOYggTLW8dDdZQSQ= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0 h1:u1hUa48x1qEONUSOtz8dx/c8oz74RpIHyWnGFJ7t0CE= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0/go.mod h1:BtHruDt40QTW8klZVQCqsVfhVsOkh6hDg5w1cPvLpeU= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 h1:Dq/RpdClawI8HrnSi177LziPjfHo733BWOCgRTbWrfY= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0/go.mod h1:QLQ31rGjPuMc/nGw4rL4HzQI9F0jVAPEmC342chxoqA= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 h1:+V+4OUcg1s3CrZpttT4dA+Uuv7VWpOIPQpOkcsrMBIo= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0/go.mod h1:f/eEZ3JMbRNLsRzNwATtTjuulDrLvhYMvXinLrmHtTU= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 h1:3Kd8zHKqytBpSvPo0cGi0iCfe5zTMpUgnsNsK9shDMg= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0/go.mod h1:1KqtFWaQ6duvMqk6mCdRPqySXPBr9Ubr0EW9lEr/9A4= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.7.0 h1:iNba3cIZTDPB2+IAbVY/3TUN+pCCLrNYo2GaGtsKBak= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.7.0/go.mod h1:l5BDPiZ9FbeejzWTAX6BowMzQOM/GeaUQ6lr3sOcSkc= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1148,10 +1170,10 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= -go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= -go.uber.org/fx v1.18.2 h1:bUNI6oShr+OVFQeU8cDNbnN7VFsu+SsjHzUF51V/GAU= -go.uber.org/fx v1.18.2/go.mod h1:g0V1KMQ66zIRk8bLu3Ea5Jt2w/cHlOIp4wdRsgh0JaY= +go.uber.org/dig v1.18.0 h1:imUL1UiY0Mg4bqbFfsRQO5G4CGRBec/ZujWTvSVp3pw= +go.uber.org/dig v1.18.0/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= +go.uber.org/fx v1.22.2 h1:iPW+OPxv0G8w75OemJ1RAnTUrF55zOJlXlo1TbJ0Buw= +go.uber.org/fx v1.22.2/go.mod h1:o/D9n+2mLP6v1EG+qsdT1O8wKopYAsqZasju97SDFCU= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -1179,8 +1201,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1269,11 +1291,12 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1284,8 +1307,8 @@ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1377,8 +1400,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1387,8 +1410,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1401,8 +1424,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1545,10 +1568,10 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1567,8 +1590,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1580,8 +1603,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= 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.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= @@ -1625,14 +1648,14 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/exporter/datadogexporter/integrationtest/integration_test.go b/exporter/datadogexporter/integrationtest/integration_test.go index b7b48eebfcfe..ef586f5423b6 100644 --- a/exporter/datadogexporter/integrationtest/integration_test.go +++ b/exporter/datadogexporter/integrationtest/integration_test.go @@ -11,7 +11,6 @@ import ( "fmt" "io" "net/http" - "runtime" "strings" "sync" "testing" @@ -528,84 +527,3 @@ func sendLogs(t *testing.T, numLogs int) { lr := make([]log.Record, numLogs) assert.NoError(t, logExporter.Export(ctx, lr)) } - -func TestIntegrationInternalMetrics(t *testing.T) { - if runtime.GOOS == "windows" { - t.Skip("flaky test on windows https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/34836") - } - - // 1. Set up mock Datadog server - seriesRec := &testutil.HTTPRequestRecorderWithChan{Pattern: testutil.MetricV2Endpoint, ReqChan: make(chan []byte, 100)} - tracesRec := &testutil.HTTPRequestRecorderWithChan{Pattern: testutil.TraceEndpoint, ReqChan: make(chan []byte, 100)} - server := testutil.DatadogServerMock(seriesRec.HandlerFunc, tracesRec.HandlerFunc) - defer server.Close() - t.Setenv("SERVER_URL", server.URL) - - // 2. Start in-process collector - factories := getIntegrationTestComponents(t) - app := getIntegrationTestCollector(t, "integration_test_internal_metrics_config.yaml", factories) - go func() { - assert.NoError(t, app.Run(context.Background())) - }() - defer app.Shutdown() - - waitForReadiness(app) - - // 3. Generate and send traces - sendTraces(t) - - // 4. Validate Datadog trace agent & OTel internal metrics are sent to the mock server - expectedMetrics := map[string]struct{}{ - // Datadog internal metrics on trace and stats writers - "otelcol_datadog_otlp_translator_resources_missing_source": {}, - "otelcol_datadog_trace_agent_stats_writer_bytes": {}, - "otelcol_datadog_trace_agent_stats_writer_retries": {}, - "otelcol_datadog_trace_agent_stats_writer_stats_buckets": {}, - "otelcol_datadog_trace_agent_stats_writer_stats_entries": {}, - "otelcol_datadog_trace_agent_stats_writer_payloads": {}, - "otelcol_datadog_trace_agent_stats_writer_client_payloads": {}, - "otelcol_datadog_trace_agent_stats_writer_errors": {}, - "otelcol_datadog_trace_agent_stats_writer_splits": {}, - "otelcol_datadog_trace_agent_trace_writer_bytes": {}, - "otelcol_datadog_trace_agent_trace_writer_retries": {}, - "otelcol_datadog_trace_agent_trace_writer_spans": {}, - "otelcol_datadog_trace_agent_trace_writer_traces": {}, - "otelcol_datadog_trace_agent_trace_writer_payloads": {}, - "otelcol_datadog_trace_agent_trace_writer_errors": {}, - "otelcol_datadog_trace_agent_trace_writer_events": {}, - - // OTel collector internal metrics - "otelcol_process_memory_rss": {}, - "otelcol_process_runtime_total_sys_memory_bytes": {}, - "otelcol_process_uptime": {}, - "otelcol_process_cpu_seconds": {}, - "otelcol_process_runtime_heap_alloc_bytes": {}, - "otelcol_process_runtime_total_alloc_bytes": {}, - "otelcol_receiver_accepted_metric_points": {}, - "otelcol_receiver_accepted_spans": {}, - "otelcol_exporter_queue_capacity": {}, - "otelcol_exporter_queue_size": {}, - "otelcol_exporter_sent_spans": {}, - "otelcol_exporter_sent_metric_points": {}, - } - - metricMap := make(map[string]series) - for len(metricMap) < len(expectedMetrics) { - select { - case <-tracesRec.ReqChan: - // Drain the channel, no need to look into the traces - case metricsBytes := <-seriesRec.ReqChan: - var metrics seriesSlice - gz := getGzipReader(t, metricsBytes) - dec := json.NewDecoder(gz) - assert.NoError(t, dec.Decode(&metrics)) - for _, s := range metrics.Series { - if _, ok := expectedMetrics[s.Metric]; ok { - metricMap[s.Metric] = s - } - } - case <-time.After(60 * time.Second): - t.Fail() - } - } -} diff --git a/exporter/datadogexporter/integrationtest/no_race_integration_test.go b/exporter/datadogexporter/integrationtest/no_race_integration_test.go new file mode 100644 index 000000000000..a42262337550 --- /dev/null +++ b/exporter/datadogexporter/integrationtest/no_race_integration_test.go @@ -0,0 +1,98 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:build !race + +package integrationtest // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter/integrationtest" + +import ( + "context" + "encoding/json" + "runtime" + "testing" + "time" + + "github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil" + "github.com/stretchr/testify/assert" +) + +func TestIntegrationInternalMetrics(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("flaky test on windows https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/34836") + } + + // 1. Set up mock Datadog server + seriesRec := &testutil.HTTPRequestRecorderWithChan{Pattern: testutil.MetricV2Endpoint, ReqChan: make(chan []byte, 100)} + tracesRec := &testutil.HTTPRequestRecorderWithChan{Pattern: testutil.TraceEndpoint, ReqChan: make(chan []byte, 100)} + server := testutil.DatadogServerMock(seriesRec.HandlerFunc, tracesRec.HandlerFunc) + defer server.Close() + t.Setenv("SERVER_URL", server.URL) + + // 2. Start in-process collector + factories := getIntegrationTestComponents(t) + app := getIntegrationTestCollector(t, "integration_test_internal_metrics_config.yaml", factories) + go func() { + assert.NoError(t, app.Run(context.Background())) + }() + defer app.Shutdown() + + waitForReadiness(app) + + // 3. Generate and send traces + sendTraces(t) + + // 4. Validate Datadog trace agent & OTel internal metrics are sent to the mock server + expectedMetrics := map[string]struct{}{ + // Datadog internal metrics on trace and stats writers + "otelcol_datadog_otlp_translator_resources_missing_source": {}, + "otelcol_datadog_trace_agent_stats_writer_bytes": {}, + "otelcol_datadog_trace_agent_stats_writer_retries": {}, + "otelcol_datadog_trace_agent_stats_writer_stats_buckets": {}, + "otelcol_datadog_trace_agent_stats_writer_stats_entries": {}, + "otelcol_datadog_trace_agent_stats_writer_payloads": {}, + "otelcol_datadog_trace_agent_stats_writer_client_payloads": {}, + "otelcol_datadog_trace_agent_stats_writer_errors": {}, + "otelcol_datadog_trace_agent_stats_writer_splits": {}, + "otelcol_datadog_trace_agent_trace_writer_bytes": {}, + "otelcol_datadog_trace_agent_trace_writer_retries": {}, + "otelcol_datadog_trace_agent_trace_writer_spans": {}, + "otelcol_datadog_trace_agent_trace_writer_traces": {}, + "otelcol_datadog_trace_agent_trace_writer_payloads": {}, + "otelcol_datadog_trace_agent_trace_writer_errors": {}, + "otelcol_datadog_trace_agent_trace_writer_events": {}, + + // OTel collector internal metrics + "otelcol_process_memory_rss": {}, + "otelcol_process_runtime_total_sys_memory_bytes": {}, + "otelcol_process_uptime": {}, + "otelcol_process_cpu_seconds": {}, + "otelcol_process_runtime_heap_alloc_bytes": {}, + "otelcol_process_runtime_total_alloc_bytes": {}, + "otelcol_receiver_accepted_metric_points": {}, + "otelcol_receiver_accepted_spans": {}, + "otelcol_exporter_queue_capacity": {}, + "otelcol_exporter_queue_size": {}, + "otelcol_exporter_sent_spans": {}, + "otelcol_exporter_sent_metric_points": {}, + } + + metricMap := make(map[string]series) + for len(metricMap) < len(expectedMetrics) { + select { + case <-tracesRec.ReqChan: + // Drain the channel, no need to look into the traces + case metricsBytes := <-seriesRec.ReqChan: + var metrics seriesSlice + gz := getGzipReader(t, metricsBytes) + dec := json.NewDecoder(gz) + assert.NoError(t, dec.Decode(&metrics)) + for _, s := range metrics.Series { + if _, ok := expectedMetrics[s.Metric]; ok { + metricMap[s.Metric] = s + } + } + case <-time.After(60 * time.Second): + t.Fail() + } + } +} diff --git a/exporter/datadogexporter/internal/clientutil/retrier_test.go b/exporter/datadogexporter/internal/clientutil/retrier_test.go index c919e4553245..15685294bb48 100644 --- a/exporter/datadogexporter/internal/clientutil/retrier_test.go +++ b/exporter/datadogexporter/internal/clientutil/retrier_test.go @@ -39,7 +39,7 @@ func TestDoWithRetries(t *testing.T) { ) retryNum, err = retrier.DoWithRetries(ctx, func(context.Context) error { return errors.New("action failed") }) require.Error(t, err) - assert.Greater(t, retryNum, int64(0)) + assert.Positive(t, retryNum) } func TestNoRetriesOnPermanentError(t *testing.T) { diff --git a/exporter/datadogexporter/internal/hostmetadata/metadata_test.go b/exporter/datadogexporter/internal/hostmetadata/metadata_test.go index 4d2100046e80..24b30b85db1d 100644 --- a/exporter/datadogexporter/internal/hostmetadata/metadata_test.go +++ b/exporter/datadogexporter/internal/hostmetadata/metadata_test.go @@ -190,13 +190,13 @@ func TestPushMetadata(t *testing.T) { assert.Equal(t, "apikey", r.Header.Get("DD-Api-Key")) assert.Equal(t, "otelcontribcol/1.0", r.Header.Get("User-Agent")) reader, err := gzip.NewReader(r.Body) - require.NoError(t, err) + assert.NoError(t, err) body, err := io.ReadAll(reader) - require.NoError(t, err) + assert.NoError(t, err) var recvMetadata payload.HostMetadata err = json.Unmarshal(body, &recvMetadata) - require.NoError(t, err) + assert.NoError(t, err) assert.Equal(t, mockMetadata, recvMetadata) }) diff --git a/exporter/datadogexporter/internal/metadata/generated_status.go b/exporter/datadogexporter/internal/metadata/generated_status.go index f4bfd12de6ee..f746a701d788 100644 --- a/exporter/datadogexporter/internal/metadata/generated_status.go +++ b/exporter/datadogexporter/internal/metadata/generated_status.go @@ -12,7 +12,7 @@ var ( ) const ( - LogsStability = component.StabilityLevelAlpha TracesStability = component.StabilityLevelBeta MetricsStability = component.StabilityLevelBeta + LogsStability = component.StabilityLevelBeta ) diff --git a/exporter/datadogexporter/logs_exporter_test.go b/exporter/datadogexporter/logs_exporter_test.go index 39d0ce3d6820..941561890853 100644 --- a/exporter/datadogexporter/logs_exporter_test.go +++ b/exporter/datadogexporter/logs_exporter_test.go @@ -19,6 +19,7 @@ import ( "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata/plog" + conventions127 "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/testdata" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" @@ -234,7 +235,7 @@ func TestLogsExporter(t *testing.T) { params := exportertest.NewNopSettings() f := NewFactory() ctx := context.Background() - exp, err := f.CreateLogsExporter(ctx, params, cfg) + exp, err := f.CreateLogs(ctx, params, cfg) require.NoError(t, err) require.NoError(t, exp.ConsumeLogs(ctx, tt.args.ld)) assert.Equal(t, tt.want, server.LogsData) @@ -503,6 +504,41 @@ func TestLogsAgentExporter(t *testing.T) { }, }, }, + { + name: "new-env-convention", + args: args{ + ld: func() plog.Logs { + lrr := testdata.GenerateLogsOneLogRecord() + lrr.ResourceLogs().At(0).Resource().Attributes().PutStr(conventions127.AttributeDeploymentEnvironmentName, "new_env") + return lrr + }(), + retry: false, + }, + want: testutil.JSONLogs{ + { + "message": testutil.JSONLog{ + "@timestamp": testdata.TestLogTime.Format(timeFormatString), + "app": "server", + "dd.span_id": fmt.Sprintf("%d", spanIDToUint64(ld.SpanID())), + "dd.trace_id": fmt.Sprintf("%d", traceIDToUint64(ld.TraceID())), + "deployment.environment.name": "new_env", + "instance_num": "1", + "message": ld.Body().AsString(), + "otel.severity_number": "9", + "otel.severity_text": "Info", + "otel.span_id": traceutil.SpanIDToHexOrEmptyString(ld.SpanID()), + "otel.timestamp": fmt.Sprintf("%d", testdata.TestLogTime.UnixNano()), + "otel.trace_id": traceutil.TraceIDToHexOrEmptyString(ld.TraceID()), + "resource-attr": "resource-attr-val-1", + "status": "Info", + }, + "ddsource": "otlp_log_ingestion", + "ddtags": "env:new_env,otel_source:datadog_exporter", + "service": "", + "status": "Info", + }, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { @@ -563,7 +599,7 @@ func TestLogsAgentExporter(t *testing.T) { params := exportertest.NewNopSettings() f := NewFactory() ctx := context.Background() - exp, err := f.CreateLogsExporter(ctx, params, cfg) + exp, err := f.CreateLogs(ctx, params, cfg) require.NoError(t, err) require.NoError(t, exp.ConsumeLogs(ctx, tt.args.ld)) diff --git a/exporter/datadogexporter/metadata.yaml b/exporter/datadogexporter/metadata.yaml index f4edf2dbf82d..4000568a1f3e 100644 --- a/exporter/datadogexporter/metadata.yaml +++ b/exporter/datadogexporter/metadata.yaml @@ -3,8 +3,7 @@ type: datadog status: class: exporter stability: - alpha: [logs] - beta: [traces, metrics] + beta: [traces, metrics, logs] distributions: [contrib] codeowners: active: [mx-psi, dineshg13, liustanley, songy23, mackjmr, ankitpatel96] diff --git a/exporter/datadogexporter/metrics_exporter.go b/exporter/datadogexporter/metrics_exporter.go index 6fa87508f40f..c6846807bd77 100644 --- a/exporter/datadogexporter/metrics_exporter.go +++ b/exporter/datadogexporter/metrics_exporter.go @@ -55,7 +55,12 @@ func translatorFromConfig(set component.TelemetrySettings, cfg *Config, attrsTra options := []otlpmetrics.TranslatorOption{ otlpmetrics.WithDeltaTTL(cfg.Metrics.DeltaTTL), otlpmetrics.WithFallbackSourceProvider(sourceProvider), - otlpmetrics.WithRemapping(), + } + + if isMetricRemappingDisabled() { + set.Logger.Warn("Metric remapping is disabled in the Datadog exporter. OpenTelemetry metrics must be mapped to Datadog semantics before metrics are exported to Datadog (ex: via a processor).") + } else { + options = append(options, otlpmetrics.WithRemapping()) } if cfg.Metrics.HistConfig.SendAggregations { diff --git a/exporter/datadogexporter/metrics_exporter_test.go b/exporter/datadogexporter/metrics_exporter_test.go index f92293240261..a31373256630 100644 --- a/exporter/datadogexporter/metrics_exporter_test.go +++ b/exporter/datadogexporter/metrics_exporter_test.go @@ -28,6 +28,7 @@ import ( "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" + conventions127 "go.opentelemetry.io/collector/semconv/v1.27.0" conventions "go.opentelemetry.io/collector/semconv/v1.6.1" "go.uber.org/zap" ) @@ -57,15 +58,14 @@ func TestNewExporter(t *testing.T) { CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, }, }, - HostMetadata: HostMetadataConfig{ - sourceTimeout: 50 * time.Millisecond, - }, + HostMetadata: HostMetadataConfig{}, } + cfg.HostMetadata.SetSourceTimeout(50 * time.Millisecond) params := exportertest.NewNopSettings() f := NewFactory() // The client should have been created correctly - exp, err := f.CreateMetricsExporter(context.Background(), params, cfg) + exp, err := f.CreateMetrics(context.Background(), params, cfg) require.NoError(t, err) assert.NotNil(t, exp) testMetrics := pmetric.NewMetrics() @@ -167,6 +167,64 @@ func Test_metricsExporter_PushMetricsData(t *testing.T) { }, }, }, + { + metrics: createTestMetrics(map[string]string{ + conventions127.AttributeDeploymentEnvironmentName: "new_env", + "custom_attribute": "custom_value", + }), + source: source.Source{ + Kind: source.HostnameKind, + Identifier: "test-host", + }, + histogramMode: HistogramModeCounters, + hostTags: []string{"key1:value1", "key2:value2"}, + expectedSeries: map[string]any{ + "series": []any{ + map[string]any{ + "metric": "int.gauge", + "points": []any{map[string]any{"timestamp": float64(0), "value": float64(222)}}, + "type": float64(datadogV2.METRICINTAKETYPE_GAUGE), + "resources": []any{map[string]any{"name": "test-host", "type": "host"}}, + "tags": []any{"env:new_env"}, + }, + map[string]any{ + "metric": "otel.system.filesystem.utilization", + "points": []any{map[string]any{"timestamp": float64(0), "value": float64(333)}}, + "type": float64(datadogV2.METRICINTAKETYPE_GAUGE), + "resources": []any{map[string]any{"name": "test-host", "type": "host"}}, + "tags": []any{"env:new_env"}, + }, + map[string]any{ + "metric": "double.histogram.bucket", + "points": []any{map[string]any{"timestamp": float64(0), "value": float64(2)}}, + "type": float64(datadogV2.METRICINTAKETYPE_COUNT), + "resources": []any{map[string]any{"name": "test-host", "type": "host"}}, + "tags": []any{"lower_bound:-inf", "upper_bound:0", "env:new_env"}, + }, + map[string]any{ + "metric": "double.histogram.bucket", + "points": []any{map[string]any{"timestamp": float64(0), "value": float64(18)}}, + "type": float64(datadogV2.METRICINTAKETYPE_COUNT), + "resources": []any{map[string]any{"name": "test-host", "type": "host"}}, + "tags": []any{"lower_bound:0", "upper_bound:inf", "env:new_env"}, + }, + map[string]any{ + "metric": "system.disk.in_use", + "points": []any{map[string]any{"timestamp": float64(0), "value": float64(333)}}, + "type": float64(datadogV2.METRICINTAKETYPE_GAUGE), + "resources": []any{map[string]any{"name": "test-host", "type": "host"}}, + "tags": []any{"env:new_env"}, + }, + map[string]any{ + "metric": "otel.datadog_exporter.metrics.running", + "points": []any{map[string]any{"timestamp": float64(0), "value": float64(1)}}, + "type": float64(datadogV2.METRICINTAKETYPE_GAUGE), + "resources": []any{map[string]any{"name": "test-host", "type": "host"}}, + "tags": []any{"version:latest", "command:otelcol"}, + }, + }, + }, + }, { metrics: createTestMetrics(attrs), source: source.Source{ @@ -292,9 +350,7 @@ func Test_metricsExporter_PushMetricsData(t *testing.T) { ) defer server.Close() - var ( - once sync.Once - ) + var once sync.Once pusher := newTestPusher(t) reporter, err := inframetadata.NewReporter(zap.NewNop(), pusher, 1*time.Second) require.NoError(t, err) @@ -386,7 +442,7 @@ func TestNewExporter_Zorkian(t *testing.T) { f := NewFactory() // The client should have been created correctly - exp, err := f.CreateMetricsExporter(context.Background(), params, cfg) + exp, err := f.CreateMetrics(context.Background(), params, cfg) require.NoError(t, err) assert.NotNil(t, exp) testMetrics := pmetric.NewMetrics() @@ -488,6 +544,64 @@ func Test_metricsExporter_PushMetricsData_Zorkian(t *testing.T) { }, }, }, + { + metrics: createTestMetrics(map[string]string{ + conventions127.AttributeDeploymentEnvironmentName: "new_env", + "custom_attribute": "custom_value", + }), + source: source.Source{ + Kind: source.HostnameKind, + Identifier: "test-host", + }, + histogramMode: HistogramModeCounters, + hostTags: []string{"key1:value1", "key2:value2"}, + expectedSeries: map[string]any{ + "series": []any{ + map[string]any{ + "metric": "int.gauge", + "points": []any{[]any{float64(0), float64(222)}}, + "type": "gauge", + "host": "test-host", + "tags": []any{"env:new_env"}, + }, + map[string]any{ + "metric": "otel.system.filesystem.utilization", + "points": []any{[]any{float64(0), float64(333)}}, + "type": "gauge", + "host": "test-host", + "tags": []any{"env:new_env"}, + }, + map[string]any{ + "metric": "double.histogram.bucket", + "points": []any{[]any{float64(0), float64(2)}}, + "type": "count", + "host": "test-host", + "tags": []any{"lower_bound:-inf", "upper_bound:0", "env:new_env"}, + }, + map[string]any{ + "metric": "double.histogram.bucket", + "points": []any{[]any{float64(0), float64(18)}}, + "type": "count", + "host": "test-host", + "tags": []any{"lower_bound:0", "upper_bound:inf", "env:new_env"}, + }, + map[string]any{ + "metric": "system.disk.in_use", + "points": []any{[]any{float64(0), float64(333)}}, + "type": "gauge", + "host": "test-host", + "tags": []any{"env:new_env"}, + }, + map[string]any{ + "metric": "otel.datadog_exporter.metrics.running", + "points": []any{[]any{float64(0), float64(1)}}, + "type": "gauge", + "host": "test-host", + "tags": []any{"version:latest", "command:otelcol"}, + }, + }, + }, + }, { metrics: createTestMetrics(attrs), source: source.Source{ @@ -677,9 +791,7 @@ func Test_metricsExporter_PushMetricsData_Zorkian(t *testing.T) { ) defer server.Close() - var ( - once sync.Once - ) + var once sync.Once pusher := newTestPusher(t) reporter, err := inframetadata.NewReporter(zap.NewNop(), pusher, 1*time.Second) require.NoError(t, err) diff --git a/exporter/datadogexporter/traces_exporter.go b/exporter/datadogexporter/traces_exporter.go index 9254ffac7486..a510c7e88ae4 100644 --- a/exporter/datadogexporter/traces_exporter.go +++ b/exporter/datadogexporter/traces_exporter.go @@ -226,7 +226,7 @@ func newTraceAgentConfig(ctx context.Context, params exporter.Settings, cfg *Con return clientutil.NewHTTPClient(cfg.ClientConfig) } } - if v := cfg.Traces.flushInterval; v > 0 { + if v := cfg.Traces.GetFlushInterval(); v > 0 { acfg.TraceWriter.FlushPeriodSeconds = v } if v := cfg.Traces.TraceBuffer; v > 0 { @@ -238,6 +238,6 @@ func newTraceAgentConfig(ctx context.Context, params exporter.Settings, cfg *Con if cfg.Traces.ComputeTopLevelBySpanKind { acfg.Features["enable_otlp_compute_top_level_by_span_kind"] = struct{}{} } - tracelog.SetLogger(&zaplogger{params.Logger}) //TODO: This shouldn't be a singleton + tracelog.SetLogger(&zaplogger{params.Logger}) // TODO: This shouldn't be a singleton return acfg, nil } diff --git a/exporter/datadogexporter/traces_exporter_test.go b/exporter/datadogexporter/traces_exporter_test.go index 64ae87375141..725a32a8f8a4 100644 --- a/exporter/datadogexporter/traces_exporter_test.go +++ b/exporter/datadogexporter/traces_exporter_test.go @@ -9,6 +9,7 @@ import ( "context" "encoding/json" "fmt" + "io" "net/http" "net/http/httptest" "os" @@ -16,6 +17,7 @@ import ( "time" "github.com/DataDog/datadog-agent/comp/otelcol/otlp/testutil" + pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace" tracelog "github.com/DataDog/datadog-agent/pkg/trace/log" "github.com/DataDog/datadog-api-client-go/v2/api/datadogV2" "github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes" @@ -25,7 +27,11 @@ import ( "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" + conventions127 "go.opentelemetry.io/collector/semconv/v1.27.0" semconv "go.opentelemetry.io/collector/semconv/v1.6.1" + "google.golang.org/protobuf/proto" + + datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" ) func setupTestMain(m *testing.M) { @@ -134,15 +140,17 @@ func TestTracesSource(t *testing.T) { TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: metricsServer.URL}, }, Traces: TracesConfig{ - TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: tracesServer.URL}, - IgnoreResources: []string{}, + TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: tracesServer.URL}, + TracesConfig: datadogconfig.TracesConfig{ + IgnoreResources: []string{}, + }, }, } assert := assert.New(t) params := exportertest.NewNopSettings() f := NewFactory() - exporter, err := f.CreateTracesExporter(context.Background(), params, &cfg) + exporter, err := f.CreateTraces(context.Background(), params, &cfg) assert.NoError(err) // Payload specifies a sub-set of a Zorkian metrics series payload. @@ -254,15 +262,17 @@ func TestTraceExporter(t *testing.T) { TCPAddrConfig: confignet.TCPAddrConfig{ Endpoint: server.URL, }, - IgnoreResources: []string{}, - flushInterval: 0.1, - TraceBuffer: 2, + TracesConfig: datadogconfig.TracesConfig{ + IgnoreResources: []string{}, + }, + TraceBuffer: 2, }, } + cfg.Traces.SetFlushInterval(0.1) params := exportertest.NewNopSettings() f := NewFactory() - exporter, err := f.CreateTracesExporter(context.Background(), params, &cfg) + exporter, err := f.CreateTraces(context.Background(), params, &cfg) assert.NoError(t, err) ctx := context.Background() @@ -289,7 +299,7 @@ func TestNewTracesExporter(t *testing.T) { // The client should have been created correctly f := NewFactory() - exp, err := f.CreateTracesExporter(context.Background(), params, cfg) + exp, err := f.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.NotNil(t, exp) } @@ -319,7 +329,7 @@ func TestPushTraceData(t *testing.T) { params := exportertest.NewNopSettings() f := NewFactory() - exp, err := f.CreateTracesExporter(context.Background(), params, cfg) + exp, err := f.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) testTraces := ptrace.NewTraces() @@ -331,6 +341,46 @@ func TestPushTraceData(t *testing.T) { assert.Equal(t, "custom-hostname", recvMetadata.InternalHostname) } +func TestPushTraceData_NewEnvConvention(t *testing.T) { + tracesRec := &testutil.HTTPRequestRecorderWithChan{Pattern: testutil.TraceEndpoint, ReqChan: make(chan []byte)} + server := testutil.DatadogServerMock(tracesRec.HandlerFunc) + defer server.Close() + cfg := &Config{ + API: APIConfig{ + Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + }, + TagsConfig: TagsConfig{ + Hostname: "test-host", + }, + Metrics: MetricsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: server.URL}, + }, + Traces: TracesConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{Endpoint: server.URL}, + }, + } + cfg.Traces.SetFlushInterval(0.1) + + params := exportertest.NewNopSettings() + f := NewFactory() + exp, err := f.CreateTraces(context.Background(), params, cfg) + assert.NoError(t, err) + + err = exp.ConsumeTraces(context.Background(), simpleTracesWithAttributes(map[string]any{conventions127.AttributeDeploymentEnvironmentName: "new_env"})) + assert.NoError(t, err) + + reqBytes := <-tracesRec.ReqChan + buf := bytes.NewBuffer(reqBytes) + reader, err := gzip.NewReader(buf) + require.NoError(t, err) + slurp, err := io.ReadAll(reader) + require.NoError(t, err) + var traces pb.AgentPayload + require.NoError(t, proto.Unmarshal(slurp, &traces)) + assert.Len(t, traces.TracerPayloads, 1) + assert.Equal(t, "new_env", traces.TracerPayloads[0].GetEnv()) +} + func simpleTraces() ptrace.Traces { return genTraces([16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4}, nil) } diff --git a/exporter/datasetexporter/config.go b/exporter/datasetexporter/config.go index 138478425ff3..c489758bef36 100644 --- a/exporter/datasetexporter/config.go +++ b/exporter/datasetexporter/config.go @@ -154,16 +154,16 @@ func newDefaultServerHostSettings() ServerHostSettings { const debugDefault = false type Config struct { - DatasetURL string `mapstructure:"dataset_url"` - APIKey configopaque.String `mapstructure:"api_key"` - Debug bool `mapstructure:"debug"` - BufferSettings `mapstructure:"buffer"` - TracesSettings `mapstructure:"traces"` - LogsSettings `mapstructure:"logs"` - ServerHostSettings `mapstructure:"server_host"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - exporterhelper.TimeoutSettings `mapstructure:"timeout"` + DatasetURL string `mapstructure:"dataset_url"` + APIKey configopaque.String `mapstructure:"api_key"` + Debug bool `mapstructure:"debug"` + BufferSettings `mapstructure:"buffer"` + TracesSettings `mapstructure:"traces"` + LogsSettings `mapstructure:"logs"` + ServerHostSettings `mapstructure:"server_host"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:"timeout"` } func (c *Config) Unmarshal(conf *confmap.Conf) error { diff --git a/exporter/datasetexporter/config_test.go b/exporter/datasetexporter/config_test.go index c7ab7d951624..efe18a47afec 100644 --- a/exporter/datasetexporter/config_test.go +++ b/exporter/datasetexporter/config_test.go @@ -135,8 +135,8 @@ func TestConfigString(t *testing.T) { UseHostName: false, }, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), } assert.Equal(t, diff --git a/exporter/datasetexporter/factory.go b/exporter/datasetexporter/factory.go index b631aae6527e..aef03084718b 100644 --- a/exporter/datasetexporter/factory.go +++ b/exporter/datasetexporter/factory.go @@ -31,8 +31,8 @@ func createDefaultConfig() component.Config { LogsSettings: newDefaultLogsSettings(), ServerHostSettings: newDefaultServerHostSettings(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), Debug: debugDefault, } } diff --git a/exporter/datasetexporter/factory_test.go b/exporter/datasetexporter/factory_test.go index 863330f93633..dab12b484f66 100644 --- a/exporter/datasetexporter/factory_test.go +++ b/exporter/datasetexporter/factory_test.go @@ -30,8 +30,8 @@ func TestCreateDefaultConfig(t *testing.T) { LogsSettings: newDefaultLogsSettings(), ServerHostSettings: newDefaultServerHostSettings(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), }, cfg, "failed to create default config") assert.NoError(t, componenttest.CheckConfigStruct(cfg)) @@ -55,8 +55,8 @@ func TestLoadConfig(t *testing.T) { LogsSettings: newDefaultLogsSettings(), ServerHostSettings: newDefaultServerHostSettings(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), }, }, { @@ -78,8 +78,8 @@ func TestLoadConfig(t *testing.T) { LogsSettings: newDefaultLogsSettings(), ServerHostSettings: newDefaultServerHostSettings(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), }, }, { @@ -128,12 +128,12 @@ func TestLoadConfig(t *testing.T) { MaxInterval: 12 * time.Nanosecond, MaxElapsedTime: 13 * time.Nanosecond, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 14, QueueSize: 15, }, - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 16 * time.Nanosecond, }, }, @@ -214,8 +214,8 @@ func createExporterTests() []CreateTest { UseHostName: true, }, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), }, expectedError: nil, }, diff --git a/exporter/datasetexporter/generated_component_test.go b/exporter/datasetexporter/generated_component_test.go index 4ecc118c3567..c2681d637dd3 100644 --- a/exporter/datasetexporter/generated_component_test.go +++ b/exporter/datasetexporter/generated_component_test.go @@ -38,14 +38,14 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -57,9 +57,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/datasetexporter/go.mod b/exporter/datasetexporter/go.mod index d25c5d00f2e1..c4e48cdf6a76 100644 --- a/exporter/datasetexporter/go.mod +++ b/exporter/datasetexporter/go.mod @@ -4,34 +4,32 @@ go 1.22.0 require ( github.com/google/uuid v1.6.0 - // github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + // github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/scalyr/dataset-go v0.20.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/zap v1.27.0 ) require ( github.com/cenkalti/backoff/v4 v4.3.0 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -39,37 +37,33 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20230711023510-fffb14384f22 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/datasetexporter/go.sum b/exporter/datasetexporter/go.sum index e2086a2ff9f3..b149bf9eac54 100644 --- a/exporter/datasetexporter/go.sum +++ b/exporter/datasetexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -12,8 +8,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -25,8 +21,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -37,8 +31,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -48,20 +40,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/scalyr/dataset-go v0.20.0 h1:VZJew4W/ufnb67yZSpWQKI40U4XpA+w+cDM+mk0qS2E= github.com/scalyr/dataset-go v0.20.0/go.mod h1:k/A+KhdEyffuTGb1n+jSWg8J5ikV9iYVKejVGjGXXoA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -70,54 +52,56 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -143,12 +127,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -159,10 +143,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/datasetexporter/logs_exporter.go b/exporter/datasetexporter/logs_exporter.go index db510ad8cc9a..f1425c0312aa 100644 --- a/exporter/datasetexporter/logs_exporter.go +++ b/exporter/datasetexporter/logs_exporter.go @@ -46,7 +46,7 @@ func createLogsExporter(ctx context.Context, set exporter.Settings, config compo return nil, fmt.Errorf("cannot get DataSetExporter: %w", err) } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, config, diff --git a/exporter/datasetexporter/logs_exporter_stress_test.go b/exporter/datasetexporter/logs_exporter_stress_test.go index 4f8a66e07ac3..1eaa542bfd8e 100644 --- a/exporter/datasetexporter/logs_exporter_stress_test.go +++ b/exporter/datasetexporter/logs_exporter_stress_test.go @@ -88,8 +88,8 @@ func TestConsumeLogsManyLogsShouldSucceed(t *testing.T) { MaxParallelOutgoing: bufferMaxParallelOutgoing, }, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), ServerHostSettings: ServerHostSettings{ UseHostName: true, }, diff --git a/exporter/datasetexporter/logs_exporter_test.go b/exporter/datasetexporter/logs_exporter_test.go index 2a75855b10a2..eab891ba2582 100644 --- a/exporter/datasetexporter/logs_exporter_test.go +++ b/exporter/datasetexporter/logs_exporter_test.go @@ -817,8 +817,8 @@ func TestConsumeLogsShouldSucceed(t *testing.T) { ServerHost: testServerHost, }, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), } lr1 := testdata.GenerateLogsOneLogRecord() diff --git a/exporter/datasetexporter/traces_exporter.go b/exporter/datasetexporter/traces_exporter.go index 8befd30d4c59..04382e2be245 100644 --- a/exporter/datasetexporter/traces_exporter.go +++ b/exporter/datasetexporter/traces_exporter.go @@ -26,7 +26,7 @@ func createTracesExporter(ctx context.Context, set exporter.Settings, config com return nil, fmt.Errorf("cannot get DataSetExporter: %w", err) } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, config, diff --git a/exporter/dorisexporter/README.md b/exporter/dorisexporter/README.md index f0ad02619a7c..28371b7118e4 100644 --- a/exporter/dorisexporter/README.md +++ b/exporter/dorisexporter/README.md @@ -24,13 +24,12 @@ The following configuration options are supported: * `logs` (default = otel_logs) The table name for logs. * `traces` (default = otel_traces) The table name for traces. * `metrics` (default = otel_metrics) The table name for metrics. -* `create_schema` (default = true) Whether databases and tables are created automatically. -* `mysql_endpoint` The mysql protocol address to create the schema; ignored if `create_schema` is false. +* `create_schema` (default = true) Whether databases and tables are created automatically in doris. +* `mysql_endpoint` The mysql protocol address of doris. Only use to create the schema; ignored if `create_schema` is false. * `history_days` (default = 0) Data older than these days will be deleted; ignored if `create_schema` is false. If set to 0, historical data will not be deleted. * `create_history_days` (default = 0) The number of days in the history partition that was created when the table was created; ignored if `create_schema` is false. If `history_days` is not 0, `create_history_days` needs to be less than or equal to `history_days`. * `replication_num` (default = 1) The number of replicas of the table; ignored if `create_schema` is false. * `timezone` (default is the time zone of the opentelemetry collector) The time zone of doris. -* `timeout` (default = 5s) Time to wait per individual attempt to send data to a backend. * `sending_queue` [details here](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration) * `enabled` (default = true) * `num_consumers` (default = 10) Number of consumers that dequeue batches; ignored if `enabled` is false. @@ -41,6 +40,10 @@ The following configuration options are supported: * `max_interval` (default = 30s) The upper bound on backoff; ignored if `enabled` is false. * `max_elapsed_time` (default = 300s) The maximum amount of time spent trying to send a batch; ignored if `enabled` is false. If set to 0, the retries are never stopped. +The Doris exporter supports common [HTTP Configuration Settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/confighttp/README.md#http-configuration-settings), except for compression (all requests are uncompressed). As a consequence of supporting [confighttp](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/confighttp/README.md#http-configuration-settings), the Doris exporter also supports common [TLS Configuration Settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md#tls-configuration-settings). + +The Doris exporter sets `timeout` (HTTP request timeout) to 60s by default. All other defaults are as defined by [confighttp](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/confighttp/README.md#http-configuration-settings). + Example: ```yaml exporters: diff --git a/exporter/dorisexporter/config.go b/exporter/dorisexporter/config.go index db34a0f4d2f2..bbc36785d44d 100644 --- a/exporter/dorisexporter/config.go +++ b/exporter/dorisexporter/config.go @@ -5,23 +5,24 @@ package dorisexporter // import "github.com/open-telemetry/opentelemetry-collect import ( "errors" + "fmt" "regexp" + "time" + "go.opentelemetry.io/collector/config/confighttp" "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter/exporterhelper" ) type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + confighttp.ClientConfig `mapstructure:",squash"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` // TableNames is the table name for logs, traces and metrics. Table `mapstructure:"table"` - // Endpoint is the http stream load address. - Endpoint string `mapstructure:"endpoint"` // Database is the database name. Database string `mapstructure:"database"` // Username is the authentication username. @@ -93,5 +94,46 @@ func (cfg *Config) Validate() (err error) { err = errors.Join(err, errors.New("metrics table name must be alphanumeric and underscore")) } + _, errT := cfg.timeZone() + if errT != nil { + err = errors.Join(err, errors.New("invalid timezone")) + } + return err } + +const ( + defaultStart = -2147483648 // IntMin +) + +func (cfg *Config) startHistoryDays() int32 { + if cfg.HistoryDays == 0 { + return defaultStart + } + return -cfg.HistoryDays +} + +func (cfg *Config) timeZone() (*time.Location, error) { + return time.LoadLocation(cfg.TimeZone) +} + +const ( + properties = ` +PROPERTIES ( +"replication_num" = "%d", +"enable_single_replica_compaction" = "true", +"compaction_policy" = "time_series", +"dynamic_partition.enable" = "true", +"dynamic_partition.create_history_partition" = "true", +"dynamic_partition.time_unit" = "DAY", +"dynamic_partition.start" = "%d", +"dynamic_partition.history_partition_num" = "%d", +"dynamic_partition.end" = "1", +"dynamic_partition.prefix" = "p" +) +` +) + +func (cfg *Config) propertiesStr() string { + return fmt.Sprintf(properties, cfg.ReplicationNum, cfg.startHistoryDays(), cfg.CreateHistoryDays) +} diff --git a/exporter/dorisexporter/config_test.go b/exporter/dorisexporter/config_test.go index 8311476a5242..1870b3b565d3 100644 --- a/exporter/dorisexporter/config_test.go +++ b/exporter/dorisexporter/config_test.go @@ -12,6 +12,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/confighttp" "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/confmap/confmaptest" @@ -30,6 +31,10 @@ func TestLoadConfig(t *testing.T) { defaultCfg.(*Config).Endpoint = "http://localhost:8030" defaultCfg.(*Config).MySQLEndpoint = "localhost:9030" + httpClientConfig := confighttp.NewDefaultClientConfig() + httpClientConfig.Timeout = 5 * time.Second + httpClientConfig.Endpoint = "http://localhost:8030" + tests := []struct { id component.ID expected component.Config @@ -41,7 +46,7 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, "full"), expected: &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: 5 * time.Second}, + ClientConfig: httpClientConfig, BackOffConfig: configretry.BackOffConfig{ Enabled: true, InitialInterval: 5 * time.Second, @@ -50,7 +55,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 10, QueueSize: 1000, @@ -60,7 +65,6 @@ func TestLoadConfig(t *testing.T) { Traces: "otel_traces", Metrics: "otel_metrics", }, - Endpoint: "http://localhost:8030", Database: "otel", Username: "admin", Password: configopaque.String("admin"), diff --git a/exporter/dorisexporter/exporter_common.go b/exporter/dorisexporter/exporter_common.go new file mode 100644 index 000000000000..1c00bb10c78c --- /dev/null +++ b/exporter/dorisexporter/exporter_common.go @@ -0,0 +1,117 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package dorisexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorisexporter" + +import ( + "bytes" + "context" + "database/sql" + "fmt" + "net/http" + "time" + + _ "github.com/go-sql-driver/mysql" // for register database driver + "go.opentelemetry.io/collector/component" + "go.uber.org/zap" +) + +const timeFormat = "2006-01-02 15:04:05.999999" + +type commonExporter struct { + component.TelemetrySettings + + client *http.Client + + logger *zap.Logger + cfg *Config + timeZone *time.Location +} + +func newExporter(logger *zap.Logger, cfg *Config, set component.TelemetrySettings) *commonExporter { + // There won't be an error because it's already been validated in the Config.Validate method. + timeZone, _ := cfg.timeZone() + + return &commonExporter{ + TelemetrySettings: set, + logger: logger, + cfg: cfg, + timeZone: timeZone, + } +} + +func (e *commonExporter) formatTime(t time.Time) string { + return t.In(e.timeZone).Format(timeFormat) +} + +type streamLoadResponse struct { + TxnID int64 + Label string + Status string + ExistingJobStatus string + Message string + NumberTotalRows int64 + NumberLoadedRows int64 + NumberFilteredRows int64 + NumberUnselectedRows int64 + LoadBytes int64 + LoadTimeMs int64 + BeginTxnTimeMs int64 + StreamLoadPutTimeMs int64 + ReadDataTimeMs int64 + WriteDataTimeMs int64 + CommitAndPublishTimeMs int64 + ErrorURL string +} + +func (r *streamLoadResponse) success() bool { + return r.Status == "Success" || r.Status == "Publish Timeout" +} + +func streamLoadURL(address string, db string, table string) string { + return address + "/api/" + db + "/" + table + "/_stream_load" +} + +func streamLoadRequest(ctx context.Context, cfg *Config, table string, data []byte) (*http.Request, error) { + url := streamLoadURL(cfg.Endpoint, cfg.Database, table) + req, err := http.NewRequestWithContext(ctx, http.MethodPut, url, bytes.NewBuffer(data)) + if err != nil { + return nil, err + } + + req.Header.Set("format", "json") + req.Header.Set("Expect", "100-continue") + req.Header.Set("strip_outer_array", "true") + req.SetBasicAuth(cfg.Username, string(cfg.Password)) + + return req, nil +} + +func createDorisHTTPClient(ctx context.Context, cfg *Config, host component.Host, settings component.TelemetrySettings) (*http.Client, error) { + client, err := cfg.ClientConfig.ToClient(ctx, host, settings) + if err != nil { + return nil, err + } + + client.CheckRedirect = func(req *http.Request, _ []*http.Request) error { + req.SetBasicAuth(cfg.Username, string(cfg.Password)) + return nil + } + + return client, nil +} + +func createDorisMySQLClient(cfg *Config) (*sql.DB, error) { + dsn := fmt.Sprintf("%s:%s@tcp(%s)/mysql", cfg.Username, string(cfg.Password), cfg.MySQLEndpoint) + conn, err := sql.Open("mysql", dsn) + return conn, err +} + +func createAndUseDatabase(ctx context.Context, conn *sql.DB, cfg *Config) error { + _, err := conn.ExecContext(ctx, "CREATE DATABASE IF NOT EXISTS "+cfg.Database) + if err != nil { + return err + } + _, err = conn.ExecContext(ctx, "USE "+cfg.Database) + return err +} diff --git a/exporter/dorisexporter/exporter_common_test.go b/exporter/dorisexporter/exporter_common_test.go new file mode 100644 index 000000000000..77ecc8164bbf --- /dev/null +++ b/exporter/dorisexporter/exporter_common_test.go @@ -0,0 +1,72 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package dorisexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorisexporter" + +import ( + "net" + "testing" + "time" + + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/configtelemetry" + "go.opentelemetry.io/otel/metric" +) + +var testTelemetrySettings = component.TelemetrySettings{ + LeveledMeterProvider: func(_ configtelemetry.Level) metric.MeterProvider { + return nil + }, +} + +func TestNewCommonExporter(t *testing.T) { + cfg := createDefaultConfig().(*Config) + exporter := newExporter(nil, cfg, testTelemetrySettings) + require.NotNil(t, exporter) +} + +func TestCommonExporter_FormatTime(t *testing.T) { + cfg := createDefaultConfig().(*Config) + exporter := newExporter(nil, cfg, testTelemetrySettings) + require.NotNil(t, exporter) + + now := time.Date(2024, 1, 1, 0, 0, 0, 1000, time.Local) + require.Equal(t, "2024-01-01 00:00:00.000001", exporter.formatTime(now)) +} + +func TestStreamLoadResponse_Success(t *testing.T) { + resp := &streamLoadResponse{ + Status: "Success", + } + require.True(t, resp.success()) + + resp.Status = "Publish Timeout" + require.True(t, resp.success()) + + resp.Status = "Fail" + require.False(t, resp.success()) +} + +func TestStreamLoadUrl(t *testing.T) { + url := streamLoadURL("http://doris:8030", "otel", "otel_logs") + require.Equal(t, "http://doris:8030/api/otel/otel_logs/_stream_load", url) +} + +func findRandomPort() (int, error) { + l, err := net.Listen("tcp", "localhost:0") + + if err != nil { + return 0, err + } + + port := l.Addr().(*net.TCPAddr).Port + + err = l.Close() + + if err != nil { + return 0, err + } + + return port, nil +} diff --git a/exporter/dorisexporter/exporter_logs.go b/exporter/dorisexporter/exporter_logs.go new file mode 100644 index 000000000000..bf854e1a8943 --- /dev/null +++ b/exporter/dorisexporter/exporter_logs.go @@ -0,0 +1,159 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package dorisexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorisexporter" + +import ( + "context" + _ "embed" // for SQL file embedding + "encoding/json" + "fmt" + "io" + + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/pdata/plog" + semconv "go.opentelemetry.io/collector/semconv/v1.25.0" + "go.uber.org/zap" + + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" +) + +//go:embed sql/logs_ddl.sql +var logsDDL string + +// dLog Log to Doris +type dLog struct { + ServiceName string `json:"service_name"` + Timestamp string `json:"timestamp"` + TraceID string `json:"trace_id"` + SpanID string `json:"span_id"` + SeverityNumber int32 `json:"severity_number"` + SeverityText string `json:"severity_text"` + Body string `json:"body"` + ResourceAttributes map[string]any `json:"resource_attributes"` + LogAttributes map[string]any `json:"log_attributes"` + ScopeName string `json:"scope_name"` + ScopeVersion string `json:"scope_version"` +} + +type logsExporter struct { + *commonExporter +} + +func newLogsExporter(logger *zap.Logger, cfg *Config, set component.TelemetrySettings) *logsExporter { + return &logsExporter{ + commonExporter: newExporter(logger, cfg, set), + } +} + +func (e *logsExporter) start(ctx context.Context, host component.Host) error { + client, err := createDorisHTTPClient(ctx, e.cfg, host, e.TelemetrySettings) + if err != nil { + return err + } + e.client = client + + if !e.cfg.CreateSchema { + return nil + } + + conn, err := createDorisMySQLClient(e.cfg) + if err != nil { + return err + } + defer conn.Close() + + err = createAndUseDatabase(ctx, conn, e.cfg) + if err != nil { + return err + } + + ddl := fmt.Sprintf(logsDDL, e.cfg.Table.Logs, e.cfg.propertiesStr()) + _, err = conn.ExecContext(ctx, ddl) + return err +} + +func (e *logsExporter) shutdown(_ context.Context) error { + if e.client != nil { + e.client.CloseIdleConnections() + } + return nil +} + +func (e *logsExporter) pushLogData(ctx context.Context, ld plog.Logs) error { + logs := make([]*dLog, 0, ld.LogRecordCount()) + + for i := 0; i < ld.ResourceLogs().Len(); i++ { + resourceLogs := ld.ResourceLogs().At(i) + resource := resourceLogs.Resource() + resourceAttributes := resource.Attributes() + serviceName := "" + v, ok := resourceAttributes.Get(semconv.AttributeServiceName) + if ok { + serviceName = v.AsString() + } + + for j := 0; j < resourceLogs.ScopeLogs().Len(); j++ { + scopeLogs := resourceLogs.ScopeLogs().At(j) + + for k := 0; k < scopeLogs.LogRecords().Len(); k++ { + logRecord := scopeLogs.LogRecords().At(k) + + log := &dLog{ + ServiceName: serviceName, + Timestamp: e.formatTime(logRecord.Timestamp().AsTime()), + TraceID: traceutil.TraceIDToHexOrEmptyString(logRecord.TraceID()), + SpanID: traceutil.SpanIDToHexOrEmptyString(logRecord.SpanID()), + SeverityNumber: int32(logRecord.SeverityNumber()), + SeverityText: logRecord.SeverityText(), + Body: logRecord.Body().AsString(), + ResourceAttributes: resourceAttributes.AsRaw(), + LogAttributes: logRecord.Attributes().AsRaw(), + ScopeName: scopeLogs.Scope().Name(), + ScopeVersion: scopeLogs.Scope().Version(), + } + + logs = append(logs, log) + } + + } + + } + + return e.pushLogDataInternal(ctx, logs) +} + +func (e *logsExporter) pushLogDataInternal(ctx context.Context, logs []*dLog) error { + marshal, err := json.Marshal(logs) + if err != nil { + return err + } + + req, err := streamLoadRequest(ctx, e.cfg, e.cfg.Table.Logs, marshal) + if err != nil { + return err + } + + res, err := e.client.Do(req) + if err != nil { + return err + } + defer res.Body.Close() + + body, err := io.ReadAll(res.Body) + if err != nil { + return err + } + + response := streamLoadResponse{} + err = json.Unmarshal(body, &response) + if err != nil { + return err + } + + if !response.success() { + return fmt.Errorf("failed to push log data: %s", response.Message) + } + + return nil +} diff --git a/exporter/dorisexporter/exporter_logs_test.go b/exporter/dorisexporter/exporter_logs_test.go new file mode 100644 index 000000000000..60097ab6ce4a --- /dev/null +++ b/exporter/dorisexporter/exporter_logs_test.go @@ -0,0 +1,90 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package dorisexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorisexporter" + +import ( + "context" + "fmt" + "net/http" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/pdata/pcommon" + "go.opentelemetry.io/collector/pdata/plog" + semconv "go.opentelemetry.io/collector/semconv/v1.25.0" +) + +func TestPushLogData(t *testing.T) { + port, err := findRandomPort() + require.NoError(t, err) + + config := createDefaultConfig().(*Config) + config.Endpoint = fmt.Sprintf("http://127.0.0.1:%d", port) + config.CreateSchema = false + + err = config.Validate() + require.NoError(t, err) + + exporter := newLogsExporter(nil, config, testTelemetrySettings) + + ctx := context.Background() + + client, err := createDorisHTTPClient(ctx, config, nil, testTelemetrySettings) + require.NoError(t, err) + require.NotNil(t, client) + + exporter.client = client + + defer func() { + _ = exporter.shutdown(ctx) + }() + + server := &http.Server{ + ReadTimeout: 3 * time.Second, + Addr: fmt.Sprintf(":%d", port), + } + + go func() { + http.HandleFunc("/api/otel/otel_logs/_stream_load", func(w http.ResponseWriter, _ *http.Request) { + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(`{"Status":"Success"}`)) + }) + err = server.ListenAndServe() + assert.Equal(t, http.ErrServerClosed, err) + }() + + err0 := fmt.Errorf("Not Started") + for err0 != nil { // until server started + err0 = exporter.pushLogData(ctx, simpleLogs(10)) + time.Sleep(100 * time.Millisecond) + } + + _ = server.Shutdown(ctx) +} + +func simpleLogs(count int) plog.Logs { + logs := plog.NewLogs() + rl := logs.ResourceLogs().AppendEmpty() + rl.Resource().Attributes().PutStr("service.name", "test-service") + sl := rl.ScopeLogs().AppendEmpty() + sl.Scope().SetName("io.opentelemetry.contrib.doris") + sl.Scope().SetVersion("1.0.0") + sl.Scope().Attributes().PutStr("lib", "doris") + timestamp := time.Now() + for i := 0; i < count; i++ { + r := sl.LogRecords().AppendEmpty() + r.SetTimestamp(pcommon.NewTimestampFromTime(timestamp)) + r.SetObservedTimestamp(pcommon.NewTimestampFromTime(timestamp)) + r.SetSeverityNumber(plog.SeverityNumberError2) + r.SetSeverityText("error") + r.Body().SetStr("error message") + r.Attributes().PutStr(semconv.AttributeServiceNamespace, "default") + r.SetFlags(plog.DefaultLogRecordFlags) + r.SetTraceID([16]byte{1, 2, 3, byte(i)}) + r.SetSpanID([8]byte{1, 2, 3, byte(i)}) + } + return logs +} diff --git a/exporter/dorisexporter/exporter_traces.go b/exporter/dorisexporter/exporter_traces.go new file mode 100644 index 000000000000..40793c613605 --- /dev/null +++ b/exporter/dorisexporter/exporter_traces.go @@ -0,0 +1,215 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package dorisexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorisexporter" + +import ( + "context" + _ "embed" // for SQL file embedding + "encoding/json" + "fmt" + "io" + + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/pdata/ptrace" + semconv "go.opentelemetry.io/collector/semconv/v1.25.0" + "go.uber.org/zap" + + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" +) + +//go:embed sql/traces_ddl.sql +var tracesDDL string + +// dTrace Trace to Doris +type dTrace struct { + ServiceName string `json:"service_name"` + Timestamp string `json:"timestamp"` + TraceID string `json:"trace_id"` + SpanID string `json:"span_id"` + TraceState string `json:"trace_state"` + ParentSpanID string `json:"parent_span_id"` + SpanName string `json:"span_name"` + SpanKind string `json:"span_kind"` + EndTime string `json:"end_time"` + Duration int64 `json:"duration"` + SpanAttributes map[string]any `json:"span_attributes"` + Events []*dEvent `json:"events"` + Links []*dLink `json:"links"` + StatusMessage string `json:"status_message"` + StatusCode string `json:"status_code"` + ResourceAttributes map[string]any `json:"resource_attributes"` + ScopeName string `json:"scope_name"` + ScopeVersion string `json:"scope_version"` +} + +// dEvent Event to Doris +type dEvent struct { + Timestamp string `json:"timestamp"` + Name string `json:"name"` + Attributes map[string]any `json:"attributes"` +} + +// dLink Link to Doris +type dLink struct { + TraceID string `json:"trace_id"` + SpanID string `json:"span_id"` + TraceState string `json:"trace_state"` + Attributes map[string]any `json:"attributes"` +} + +type tracesExporter struct { + *commonExporter +} + +func newTracesExporter(logger *zap.Logger, cfg *Config, set component.TelemetrySettings) *tracesExporter { + return &tracesExporter{ + commonExporter: newExporter(logger, cfg, set), + } +} + +func (e *tracesExporter) start(ctx context.Context, host component.Host) error { + client, err := createDorisHTTPClient(ctx, e.cfg, host, e.TelemetrySettings) + if err != nil { + return err + } + e.client = client + + if !e.cfg.CreateSchema { + return nil + } + + conn, err := createDorisMySQLClient(e.cfg) + if err != nil { + return err + } + defer conn.Close() + + err = createAndUseDatabase(ctx, conn, e.cfg) + if err != nil { + return err + } + + ddl := fmt.Sprintf(tracesDDL, e.cfg.Table.Traces, e.cfg.propertiesStr()) + _, err = conn.ExecContext(ctx, ddl) + return err +} + +func (e *tracesExporter) shutdown(_ context.Context) error { + if e.client != nil { + e.client.CloseIdleConnections() + } + return nil +} + +func (e *tracesExporter) pushTraceData(ctx context.Context, td ptrace.Traces) error { + traces := make([]*dTrace, 0, td.SpanCount()) + + for i := 0; i < td.ResourceSpans().Len(); i++ { + resourceSpan := td.ResourceSpans().At(i) + resource := resourceSpan.Resource() + resourceAttributes := resource.Attributes() + serviceName := "" + v, ok := resourceAttributes.Get(semconv.AttributeServiceName) + if ok { + serviceName = v.AsString() + } + + for j := 0; j < resourceSpan.ScopeSpans().Len(); j++ { + scopeSpan := resourceSpan.ScopeSpans().At(j) + + for k := 0; k < scopeSpan.Spans().Len(); k++ { + span := scopeSpan.Spans().At(k) + + events := span.Events() + newEvents := make([]*dEvent, 0, events.Len()) + for l := 0; l < events.Len(); l++ { + event := events.At(l) + + newEvent := &dEvent{ + Timestamp: e.formatTime(event.Timestamp().AsTime()), + Name: event.Name(), + Attributes: event.Attributes().AsRaw(), + } + + newEvents = append(newEvents, newEvent) + } + + links := span.Links() + newLinks := make([]*dLink, 0, links.Len()) + for l := 0; l < links.Len(); l++ { + link := links.At(l) + + newLink := &dLink{ + TraceID: traceutil.TraceIDToHexOrEmptyString(link.TraceID()), + SpanID: traceutil.SpanIDToHexOrEmptyString(link.SpanID()), + TraceState: link.TraceState().AsRaw(), + Attributes: link.Attributes().AsRaw(), + } + + newLinks = append(newLinks, newLink) + } + + trace := &dTrace{ + ServiceName: serviceName, + Timestamp: e.formatTime(span.StartTimestamp().AsTime()), + TraceID: traceutil.TraceIDToHexOrEmptyString(span.TraceID()), + SpanID: traceutil.SpanIDToHexOrEmptyString(span.SpanID()), + TraceState: span.TraceState().AsRaw(), + ParentSpanID: traceutil.SpanIDToHexOrEmptyString(span.ParentSpanID()), + SpanName: span.Name(), + SpanKind: traceutil.SpanKindStr(span.Kind()), + EndTime: e.formatTime(span.EndTimestamp().AsTime()), + Duration: span.EndTimestamp().AsTime().Sub(span.StartTimestamp().AsTime()).Microseconds(), + SpanAttributes: span.Attributes().AsRaw(), + Events: newEvents, + Links: newLinks, + StatusMessage: span.Status().Message(), + StatusCode: traceutil.StatusCodeStr(span.Status().Code()), + ResourceAttributes: resourceAttributes.AsRaw(), + ScopeName: scopeSpan.Scope().Name(), + ScopeVersion: scopeSpan.Scope().Version(), + } + + traces = append(traces, trace) + } + } + } + + return e.pushTraceDataInternal(ctx, traces) +} + +func (e *tracesExporter) pushTraceDataInternal(ctx context.Context, traces []*dTrace) error { + marshal, err := json.Marshal(traces) + if err != nil { + return err + } + + req, err := streamLoadRequest(ctx, e.cfg, e.cfg.Table.Traces, marshal) + if err != nil { + return err + } + + res, err := e.client.Do(req) + if err != nil { + return err + } + defer res.Body.Close() + + body, err := io.ReadAll(res.Body) + if err != nil { + return err + } + + response := streamLoadResponse{} + err = json.Unmarshal(body, &response) + if err != nil { + return err + } + + if !response.success() { + return fmt.Errorf("failed to push trace data: %s", response.Message) + } + + return nil +} diff --git a/exporter/dorisexporter/exporter_traces_test.go b/exporter/dorisexporter/exporter_traces_test.go new file mode 100644 index 000000000000..396c320cf2e8 --- /dev/null +++ b/exporter/dorisexporter/exporter_traces_test.go @@ -0,0 +1,105 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package dorisexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorisexporter" + +import ( + "context" + "fmt" + "net/http" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/pdata/pcommon" + "go.opentelemetry.io/collector/pdata/ptrace" + semconv "go.opentelemetry.io/collector/semconv/v1.25.0" +) + +func TestPushTraceData(t *testing.T) { + port, err := findRandomPort() + require.NoError(t, err) + + config := createDefaultConfig().(*Config) + config.Endpoint = fmt.Sprintf("http://127.0.0.1:%d", port) + config.CreateSchema = false + + err = config.Validate() + require.NoError(t, err) + + exporter := newTracesExporter(nil, config, testTelemetrySettings) + + ctx := context.Background() + + client, err := createDorisHTTPClient(ctx, config, nil, testTelemetrySettings) + require.NoError(t, err) + require.NotNil(t, client) + + exporter.client = client + + defer func() { + _ = exporter.shutdown(ctx) + }() + + server := &http.Server{ + ReadTimeout: 3 * time.Second, + Addr: fmt.Sprintf(":%d", port), + } + + go func() { + http.HandleFunc("/api/otel/otel_traces/_stream_load", func(w http.ResponseWriter, _ *http.Request) { + w.WriteHeader(http.StatusOK) + _, _ = w.Write([]byte(`{"Status":"Success"}`)) + }) + err = server.ListenAndServe() + assert.Equal(t, http.ErrServerClosed, err) + }() + + err0 := fmt.Errorf("Not Started") + for err0 != nil { // until server started + err0 = exporter.pushTraceData(ctx, simpleTraces(10)) + time.Sleep(100 * time.Millisecond) + } + + _ = server.Shutdown(ctx) +} + +func simpleTraces(count int) ptrace.Traces { + traces := ptrace.NewTraces() + rs := traces.ResourceSpans().AppendEmpty() + rs.SetSchemaUrl("https://opentelemetry.io/schemas/1.4.0") + rs.Resource().SetDroppedAttributesCount(10) + rs.Resource().Attributes().PutStr("service.name", "test-service") + ss := rs.ScopeSpans().AppendEmpty() + ss.Scope().SetName("io.opentelemetry.contrib.doris") + ss.Scope().SetVersion("1.0.0") + ss.SetSchemaUrl("https://opentelemetry.io/schemas/1.7.0") + ss.Scope().SetDroppedAttributesCount(20) + ss.Scope().Attributes().PutStr("lib", "doris") + timestamp := time.Now() + for i := 0; i < count; i++ { + s := ss.Spans().AppendEmpty() + s.SetTraceID([16]byte{1, 2, 3, byte(i)}) + s.SetSpanID([8]byte{1, 2, 3, byte(i)}) + s.TraceState().FromRaw("trace state") + s.SetParentSpanID([8]byte{1, 2, 4, byte(i)}) + s.SetName("call db") + s.SetKind(ptrace.SpanKindInternal) + s.SetStartTimestamp(pcommon.NewTimestampFromTime(timestamp)) + s.SetEndTimestamp(pcommon.NewTimestampFromTime(timestamp.Add(time.Minute))) + s.Attributes().PutStr(semconv.AttributeServiceName, "v") + s.Status().SetMessage("error") + s.Status().SetCode(ptrace.StatusCodeError) + event := s.Events().AppendEmpty() + event.SetName("event1") + event.SetTimestamp(pcommon.NewTimestampFromTime(timestamp)) + event.Attributes().PutStr("level", "info") + link := s.Links().AppendEmpty() + link.SetTraceID([16]byte{1, 2, 5, byte(i)}) + link.SetSpanID([8]byte{1, 2, 5, byte(i)}) + link.TraceState().FromRaw("error") + link.Attributes().PutStr("k", "v") + } + return traces +} diff --git a/exporter/dorisexporter/factory.go b/exporter/dorisexporter/factory.go index e0ef823200e8..48238f4e962a 100644 --- a/exporter/dorisexporter/factory.go +++ b/exporter/dorisexporter/factory.go @@ -8,12 +8,11 @@ import ( "time" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/confighttp" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" - "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorisexporter/internal/metadata" ) @@ -29,10 +28,13 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { + httpClientConfig := confighttp.NewDefaultClientConfig() + httpClientConfig.Timeout = 60 * time.Second + return &Config{ - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - BackOffConfig: configretry.NewDefaultBackOffConfig(), + ClientConfig: httpClientConfig, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + BackOffConfig: configretry.NewDefaultBackOffConfig(), Table: Table{ Logs: "otel_logs", Traces: "otel_traces", @@ -48,29 +50,41 @@ func createDefaultConfig() component.Config { } func createLogsExporter(ctx context.Context, set exporter.Settings, cfg component.Config) (exporter.Logs, error) { - return exporterhelper.NewLogsExporter( + c := cfg.(*Config) + exporter := newLogsExporter(set.Logger, c, set.TelemetrySettings) + return exporterhelper.NewLogs( ctx, set, cfg, - func(_ context.Context, _ plog.Logs) error { - return nil - }, + exporter.pushLogData, + exporterhelper.WithStart(exporter.start), + exporterhelper.WithShutdown(exporter.shutdown), + // we config the timeout option in http client, so we don't need to set timeout here + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), + exporterhelper.WithQueue(c.QueueSettings), + exporterhelper.WithRetry(c.BackOffConfig), ) } func createTracesExporter(ctx context.Context, set exporter.Settings, cfg component.Config) (exporter.Traces, error) { - return exporterhelper.NewTracesExporter( + c := cfg.(*Config) + exporter := newTracesExporter(set.Logger, c, set.TelemetrySettings) + return exporterhelper.NewTraces( ctx, set, cfg, - func(_ context.Context, _ ptrace.Traces) error { - return nil - }, + exporter.pushTraceData, + exporterhelper.WithStart(exporter.start), + exporterhelper.WithShutdown(exporter.shutdown), + // we config the timeout option in http client, so we don't need to set timeout here + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), + exporterhelper.WithQueue(c.QueueSettings), + exporterhelper.WithRetry(c.BackOffConfig), ) } func createMetricsExporter(ctx context.Context, set exporter.Settings, cfg component.Config) (exporter.Metrics, error) { - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, diff --git a/exporter/dorisexporter/generated_component_test.go b/exporter/dorisexporter/generated_component_test.go index 825f71d33391..f462ed535386 100644 --- a/exporter/dorisexporter/generated_component_test.go +++ b/exporter/dorisexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/dorisexporter/go.mod b/exporter/dorisexporter/go.mod index 730d7c47b8f7..d6b97a81c878 100644 --- a/exporter/dorisexporter/go.mod +++ b/exporter/dorisexporter/go.mod @@ -2,32 +2,43 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dorise go 1.22.0 -toolchain go1.22.7 - require ( github.com/cenkalti/backoff/v4 v4.3.0 + // cannot use higher version: https://github.com/go-sql-driver/mysql/issues/1602 + github.com/go-sql-driver/mysql v1.8.1 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 - go.uber.org/zap v1.27.0 // indirect + go.uber.org/zap v1.27.0 +) + +require ( + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel/metric v1.31.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + filippo.io/edwards25519 v1.1.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -35,36 +46,45 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - github.com/rogpeppe/go-internal v1.12.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rs/cors v1.11.1 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) + +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden diff --git a/exporter/dorisexporter/go.sum b/exporter/dorisexporter/go.sum index 5790ee924b34..ea6897fb5623 100644 --- a/exporter/dorisexporter/go.sum +++ b/exporter/dorisexporter/go.sum @@ -1,22 +1,28 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= +github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -26,8 +32,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -38,8 +44,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -49,75 +53,89 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -133,20 +151,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -157,10 +175,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/dorisexporter/sql/logs_ddl.sql b/exporter/dorisexporter/sql/logs_ddl.sql new file mode 100644 index 000000000000..b69abf71a8b4 --- /dev/null +++ b/exporter/dorisexporter/sql/logs_ddl.sql @@ -0,0 +1,30 @@ +CREATE TABLE IF NOT EXISTS %s +( + service_name VARCHAR(200), + timestamp DATETIME(6), + trace_id VARCHAR(200), + span_id STRING, + severity_number INT, + severity_text STRING, + body STRING, + resource_attributes VARIANT, + log_attributes VARIANT, + scope_name STRING, + scope_version STRING, + INDEX idx_service_name(service_name) USING INVERTED, + INDEX idx_timestamp(timestamp) USING INVERTED, + INDEX idx_trace_id(trace_id) USING INVERTED, + INDEX idx_span_id(span_id) USING INVERTED, + INDEX idx_severity_number(severity_number) USING INVERTED, + INDEX idx_body(body) USING INVERTED PROPERTIES("parser"="unicode", "support_phrase"="true"), + INDEX idx_severity_text(severity_text) USING INVERTED, + INDEX idx_resource_attributes(resource_attributes) USING INVERTED, + INDEX idx_log_attributes(log_attributes) USING INVERTED, + INDEX idx_scope_name(scope_name) USING INVERTED, + INDEX idx_scope_version(scope_version) USING INVERTED +) +ENGINE = OLAP +DUPLICATE KEY(service_name, timestamp) +PARTITION BY RANGE(timestamp) () +DISTRIBUTED BY HASH(trace_id) BUCKETS AUTO +%s; \ No newline at end of file diff --git a/exporter/dorisexporter/sql/traces_ddl.sql b/exporter/dorisexporter/sql/traces_ddl.sql new file mode 100644 index 000000000000..42d48d82de65 --- /dev/null +++ b/exporter/dorisexporter/sql/traces_ddl.sql @@ -0,0 +1,42 @@ +CREATE TABLE IF NOT EXISTS %s +( + service_name VARCHAR(200), + timestamp DATETIME(6), + trace_id VARCHAR(200), + span_id STRING, + trace_state STRING, + parent_span_id STRING, + span_name STRING, + span_kind STRING, + end_time DATETIME(6), + duration BIGINT, + span_attributes VARIANT, + events ARRAY>>, + links ARRAY>>, + status_message STRING, + status_code STRING, + resource_attributes VARIANT, + scope_name STRING, + scope_version STRING, + INDEX idx_service_name(service_name) USING INVERTED, + INDEX idx_timestamp(timestamp) USING INVERTED, + INDEX idx_trace_id(trace_id) USING INVERTED, + INDEX idx_span_id(span_id) USING INVERTED, + INDEX idx_trace_state(trace_state) USING INVERTED, + INDEX idx_parent_span_id(parent_span_id) USING INVERTED, + INDEX idx_span_name(span_name) USING INVERTED, + INDEX idx_span_kind(span_kind) USING INVERTED, + INDEX idx_end_time(end_time) USING INVERTED, + INDEX idx_duration(duration) USING INVERTED, + INDEX idx_span_attributes(span_attributes) USING INVERTED, + INDEX idx_status_message(status_message) USING INVERTED, + INDEX idx_status_code(status_code) USING INVERTED, + INDEX idx_resource_attributes(resource_attributes) USING INVERTED, + INDEX idx_scope_name(scope_name) USING INVERTED, + INDEX idx_scope_version(scope_version) USING INVERTED +) +ENGINE = OLAP +DUPLICATE KEY(service_name, timestamp) +PARTITION BY RANGE(timestamp) () +DISTRIBUTED BY HASH(trace_id) BUCKETS AUTO +%s; diff --git a/exporter/elasticsearchexporter/README.md b/exporter/elasticsearchexporter/README.md index 73b72bec82a2..eadb1e309803 100644 --- a/exporter/elasticsearchexporter/README.md +++ b/exporter/elasticsearchexporter/README.md @@ -7,7 +7,7 @@ | | [beta]: traces, logs | | Distributions | [contrib] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Felasticsearch%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Felasticsearch) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Felasticsearch%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Felasticsearch) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@JaredTan95](https://www.github.com/JaredTan95), [@ycombinator](https://www.github.com/ycombinator), [@carsonip](https://www.github.com/carsonip) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@JaredTan95](https://www.github.com/JaredTan95), [@carsonip](https://www.github.com/carsonip), [@lahsivjar](https://www.github.com/lahsivjar) | [development]: https://github.com/open-telemetry/opentelemetry-collector#development [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta @@ -71,7 +71,7 @@ service: ### HTTP settings -The Elasticsearch exporter supports common [HTTP Configuration Settings][confighttp], except for `compression` (all requests are uncompressed). +The Elasticsearch exporter supports common [HTTP Configuration Settings][confighttp]. Gzip compression is enabled by default. To disable compression, set `compression` to `none`. As a consequence of supporting [confighttp], the Elasticsearch exporter also supports common [TLS Configuration Settings][configtls]. The Elasticsearch exporter sets `timeout` (HTTP request timeout) to 90s by default. @@ -121,7 +121,7 @@ This can be customised through the following settings: - `logs_dynamic_index` (optional): uses resource, scope, or log record attributes to dynamically construct index name. - `enabled`(default=false): Enable/Disable dynamic index for log records. If `data_stream.dataset` or `data_stream.namespace` exist in attributes (precedence: log record attribute > scope attribute > resource attribute), they will be used to dynamically construct index name in the form `logs-${data_stream.dataset}-${data_stream.namespace}`. Otherwise, if - `elasticsearch.index.prefix` or `elasticsearch.index.suffix` exist in attributes (precedence: resource attribute > scope attribute > log record attribute), they will be used to dynamically construct index name in the form `${elasticsearch.index.prefix}${logs_index}${elasticsearch.index.suffix}`. Otherwise, the index name falls back to `logs-generic-default`, and `logs_index` config will be ignored. Except for prefix/suffix attribute presence, the resulting docs will contain the corresponding `data_stream.*` fields. + `elasticsearch.index.prefix` or `elasticsearch.index.suffix` exist in attributes (precedence: resource attribute > scope attribute > log record attribute), they will be used to dynamically construct index name in the form `${elasticsearch.index.prefix}${logs_index}${elasticsearch.index.suffix}`. Otherwise, if scope name matches regex `/receiver/(\w*receiver)`, `data_stream.dataset` will be capture group #1. Otherwise, the index name falls back to `logs-generic-default`, and `logs_index` config will be ignored. Except for prefix/suffix attribute presence, the resulting docs will contain the corresponding `data_stream.*` fields, see restrictions applied to [Data Stream Fields](https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html). - `metrics_index` (optional): The [index] or [data stream] name to publish metrics to. The default value is `metrics-generic-default`. ⚠️ Note that metrics support is currently in development. @@ -129,13 +129,13 @@ This can be customised through the following settings: - `metrics_dynamic_index` (optional): uses resource, scope or data point attributes to dynamically construct index name. ⚠️ Note that metrics support is currently in development. - `enabled`(default=true): Enable/disable dynamic index for metrics. If `data_stream.dataset` or `data_stream.namespace` exist in attributes (precedence: data point attribute > scope attribute > resource attribute), they will be used to dynamically construct index name in the form `metrics-${data_stream.dataset}-${data_stream.namespace}`. Otherwise, if - `elasticsearch.index.prefix` or `elasticsearch.index.suffix` exist in attributes (precedence: resource attribute > scope attribute > data point attribute), they will be used to dynamically construct index name in the form `${elasticsearch.index.prefix}${metrics_index}${elasticsearch.index.suffix}`. Otherwise, the index name falls back to `metrics-generic-default`, and `metrics_index` config will be ignored. Except for prefix/suffix attribute presence, the resulting docs will contain the corresponding `data_stream.*` fields. + `elasticsearch.index.prefix` or `elasticsearch.index.suffix` exist in attributes (precedence: resource attribute > scope attribute > data point attribute), they will be used to dynamically construct index name in the form `${elasticsearch.index.prefix}${metrics_index}${elasticsearch.index.suffix}`. Otherwise, if scope name matches regex `/receiver/(\w*receiver)`, `data_stream.dataset` will be capture group #1. Otherwise, the index name falls back to `metrics-generic-default`, and `metrics_index` config will be ignored. Except for prefix/suffix attribute presence, the resulting docs will contain the corresponding `data_stream.*` fields, see restrictions applied to [Data Stream Fields](https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html). - `traces_index`: The [index] or [data stream] name to publish traces to. The default value is `traces-generic-default`. - `traces_dynamic_index` (optional): uses resource, scope, or span attributes to dynamically construct index name. - `enabled`(default=false): Enable/Disable dynamic index for trace spans. If `data_stream.dataset` or `data_stream.namespace` exist in attributes (precedence: span attribute > scope attribute > resource attribute), they will be used to dynamically construct index name in the form `traces-${data_stream.dataset}-${data_stream.namespace}`. Otherwise, if - `elasticsearch.index.prefix` or `elasticsearch.index.suffix` exist in attributes (precedence: resource attribute > scope attribute > span attribute), they will be used to dynamically construct index name in the form `${elasticsearch.index.prefix}${traces_index}${elasticsearch.index.suffix}`. Otherwise, the index name falls back to `traces-generic-default`, and `traces_index` config will be ignored. Except for prefix/suffix attribute presence, the resulting docs will contain the corresponding `data_stream.*` fields. There is an exception for span events under OTel mapping mode (`mapping::mode: otel`), where span event attributes instead of span attributes are considered, and `data_stream.type` is always `logs` instead of `traces` such that documents are routed to `logs-${data_stream.dataset}-${data_stream.namespace}`. + `elasticsearch.index.prefix` or `elasticsearch.index.suffix` exist in attributes (precedence: resource attribute > scope attribute > span attribute), they will be used to dynamically construct index name in the form `${elasticsearch.index.prefix}${traces_index}${elasticsearch.index.suffix}`. Otherwise, if scope name matches regex `/receiver/(\w*receiver)`, `data_stream.dataset` will be capture group #1. Otherwise, the index name falls back to `traces-generic-default`, and `traces_index` config will be ignored. Except for prefix/suffix attribute presence, the resulting docs will contain the corresponding `data_stream.*` fields, see restrictions applied to [Data Stream Fields](https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html). There is an exception for span events under OTel mapping mode (`mapping::mode: otel`), where span event attributes instead of span attributes are considered, and `data_stream.type` is always `logs` instead of `traces` such that documents are routed to `logs-${data_stream.dataset}-${data_stream.namespace}`. - `logstash_format` (optional): Logstash format compatibility. Logs, metrics and traces can be written into an index in Logstash format. - `enabled`(default=false): Enable/disable Logstash format compatibility. When `logstash_format.enabled` is `true`, the index name is composed using `(logs|metrics|traces)_index` or `(logs|metrics|traces)_dynamic_index` as prefix and the date as suffix, @@ -155,14 +155,19 @@ behaviours, which may be configured through the following settings: - `none`: Use original fields and event structure from the OTLP event. - `ecs`: Try to map fields to [Elastic Common Schema (ECS)][ECS] - `otel`: Elastic's preferred "OTel-native" mapping mode. Uses original fields and event structure from the OTLP event. - - :warning: This mode's behavior is unstable, it is currently is experimental and undergoing changes. + - :warning: This mode's behavior is unstable, it is currently experimental and undergoing changes. - There's a special treatment for the following attributes: `data_stream.type`, `data_stream.dataset`, `data_stream.namespace`. Instead of serializing these values under the `*attributes.*` namespace, they're put at the root of the document, to conform with the conventions of the data stream naming scheme that maps these as `constant_keyword` fields. - `data_stream.dataset` will always be appended with `.otel`. It is recommended to use with `*_dynamic_index.enabled: true` to route documents to data stream `${data_stream.type}-${data_stream.dataset}-${data_stream.namespace}`. - Span events are stored in separate documents. They will be routed with `data_stream.type` set to `logs` if `traces_dynamic_index::enabled` is `true`. - `raw`: Omit the `Attributes.` string prefixed to field names for log and span attributes as well as omit the `Events.` string prefixed to - field names for span events. + field names for span events. + - `bodymap`: Provides fine-grained control over the final documents to be ingested. + :warning: This mode's behavior is unstable, it is currently experimental and undergoing changes. + It works only for logs where the log record body is a map. Each LogRecord + body is serialized to JSON as-is and becomes a separate document for ingestion. + If the log record body is not a map, the exporter will log a warning and drop the log record. - `dedup` (DEPRECATED). This configuration is deprecated and non-operational, and will be removed in the future. Object keys are always deduplicated to avoid Elasticsearch rejecting documents. @@ -197,7 +202,8 @@ The behaviour of this bulk indexing can be configured with the following setting - `interval` (default=30s): Write buffer flush time limit. - `retry`: Elasticsearch bulk request retry settings - `enabled` (default=true): Enable/Disable request retry on error. Failed requests are retried with exponential backoff. - - `max_requests` (default=3): Number of HTTP request retries. + - `max_requests` (DEPRECATED, use retry::max_retries instead): Number of HTTP request retries including the initial attempt. If used, `retry::max_retries` will be set to `max_requests - 1`. + - `max_retries` (default=2): Number of HTTP request retries. To disable retries, set `retry::enabled` to `false` instead of setting `max_retries` to `0`. - `initial_interval` (default=100ms): Initial waiting time if a HTTP request failed. - `max_interval` (default=1m): Max waiting time if a HTTP request failed. - `retry_on_status` (default=[429]): Status codes that trigger request or document level retries. Request level retry and document level retry status codes are shared and cannot be configured separately. To avoid duplicates, it defaults to `[429]`. @@ -235,8 +241,8 @@ The metric types supported are: - Gauge - Sum -- Histogram -- Exponential histogram +- Histogram (Delta temporality only) +- Exponential histogram (Delta temporality only) - Summary [confighttp]: https://github.com/open-telemetry/opentelemetry-collector/tree/main/config/confighttp/README.md#http-configuration-settings @@ -337,4 +343,14 @@ Otherwise, it is mapped to an empty string (""). #### `@timestamp` -In case the record contains `timestamp`, this value is used. Otherwise, the `observed timestamp` is used. \ No newline at end of file +In case the record contains `timestamp`, this value is used. Otherwise, the `observed timestamp` is used. + +## Known issues + +### version_conflict_engine_exception + +When sending high traffic of metrics to a TSDB metrics data stream, e.g. using OTel mapping mode to a 8.16 Elasticsearch, it is possible to get error logs "failed to index document" with `error.type` "version_conflict_engine_exception" and `error.reason` containing "version conflict, document already exists". It is due to Elasticsearch grouping metrics with the same dimensions, whether it is the same or different metric name, using `@timestamp` in milliseconds precision as opposed to nanoseconds in elasticsearchexporter. + +This will be fixed in a future version of Elasticsearch. A possible workaround would be to use a transform processor to truncate the timestamp, but this will cause duplicate data to be dropped silently. + +However, if `@timestamp` precision is not the problem, check your metrics pipeline setup for misconfiguration that causes an actual violation of the [single writer principle](https://opentelemetry.io/docs/specs/otel/metrics/data-model/#single-writer). \ No newline at end of file diff --git a/exporter/elasticsearchexporter/bulkindexer.go b/exporter/elasticsearchexporter/bulkindexer.go index 93e909cc3a3b..1700b03619d6 100644 --- a/exporter/elasticsearchexporter/bulkindexer.go +++ b/exporter/elasticsearchexporter/bulkindexer.go @@ -4,16 +4,19 @@ package elasticsearchexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter" import ( + "compress/gzip" "context" "errors" "io" "runtime" + "strings" "sync" "sync/atomic" "time" "github.com/elastic/go-docappender/v2" "github.com/elastic/go-elasticsearch/v7" + "go.opentelemetry.io/collector/config/configcompression" "go.uber.org/zap" ) @@ -50,6 +53,8 @@ type bulkIndexerSession interface { Flush(context.Context) error } +const defaultMaxRetries = 2 + func newBulkIndexer(logger *zap.Logger, client *elasticsearch.Client, config *Config) (bulkIndexer, error) { if config.Batcher.Enabled != nil { return newSyncBulkIndexer(logger, client, config), nil @@ -57,20 +62,31 @@ func newBulkIndexer(logger *zap.Logger, client *elasticsearch.Client, config *Co return newAsyncBulkIndexer(logger, client, config) } -func newSyncBulkIndexer(logger *zap.Logger, client *elasticsearch.Client, config *Config) *syncBulkIndexer { - var maxDocRetry int +func bulkIndexerConfig(client *elasticsearch.Client, config *Config) docappender.BulkIndexerConfig { + var maxDocRetries int if config.Retry.Enabled { - // max_requests includes initial attempt - // See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32344 - maxDocRetry = config.Retry.MaxRequests - 1 + maxDocRetries = defaultMaxRetries + if config.Retry.MaxRetries != 0 { + maxDocRetries = config.Retry.MaxRetries + } + } + var compressionLevel int + if config.Compression == configcompression.TypeGzip { + compressionLevel = gzip.BestSpeed } + return docappender.BulkIndexerConfig{ + Client: client, + MaxDocumentRetries: maxDocRetries, + Pipeline: config.Pipeline, + RetryOnDocumentStatus: config.Retry.RetryOnStatus, + RequireDataStream: config.MappingMode() == MappingOTel, + CompressionLevel: compressionLevel, + } +} + +func newSyncBulkIndexer(logger *zap.Logger, client *elasticsearch.Client, config *Config) *syncBulkIndexer { return &syncBulkIndexer{ - config: docappender.BulkIndexerConfig{ - Client: client, - MaxDocumentRetries: maxDocRetry, - Pipeline: config.Pipeline, - RetryOnDocumentStatus: config.Retry.RetryOnStatus, - }, + config: bulkIndexerConfig(client, config), flushTimeout: config.Timeout, retryConfig: config.Retry, logger: logger, @@ -164,13 +180,6 @@ func newAsyncBulkIndexer(logger *zap.Logger, client *elasticsearch.Client, confi flushBytes = 5e+6 } - var maxDocRetry int - if config.Retry.Enabled { - // max_requests includes initial attempt - // See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32344 - maxDocRetry = config.Retry.MaxRequests - 1 - } - pool := &asyncBulkIndexer{ wg: sync.WaitGroup{}, items: make(chan docappender.BulkIndexerItem, config.NumWorkers), @@ -179,12 +188,7 @@ func newAsyncBulkIndexer(logger *zap.Logger, client *elasticsearch.Client, confi pool.wg.Add(numWorkers) for i := 0; i < numWorkers; i++ { - bi, err := docappender.NewBulkIndexer(docappender.BulkIndexerConfig{ - Client: client, - MaxDocumentRetries: maxDocRetry, - Pipeline: config.Pipeline, - RetryOnDocumentStatus: config.Retry.RetryOnStatus, - }) + bi, err := docappender.NewBulkIndexer(bulkIndexerConfig(client, config)) if err != nil { return nil, err } @@ -329,12 +333,22 @@ func flushBulkIndexer( logger.Error("bulk indexer flush error", zap.Error(err)) } for _, resp := range stat.FailedDocs { - logger.Error( - "failed to index document", + fields := []zap.Field{ zap.String("index", resp.Index), zap.String("error.type", resp.Error.Type), zap.String("error.reason", resp.Error.Reason), - ) + } + if hint := getErrorHint(resp.Index, resp.Error.Type); hint != "" { + fields = append(fields, zap.String("hint", hint)) + } + logger.Error("failed to index document", fields...) } return stat, err } + +func getErrorHint(index, errorType string) string { + if strings.HasPrefix(index, ".ds-metrics-") && errorType == "version_conflict_engine_exception" { + return "check the \"Known issues\" section of Elasticsearch Exporter docs" + } + return "" +} diff --git a/exporter/elasticsearchexporter/bulkindexer_test.go b/exporter/elasticsearchexporter/bulkindexer_test.go index a70cdecc25dd..194890e69aa6 100644 --- a/exporter/elasticsearchexporter/bulkindexer_test.go +++ b/exporter/elasticsearchexporter/bulkindexer_test.go @@ -15,6 +15,7 @@ import ( "github.com/elastic/go-elasticsearch/v7" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config/confighttp" "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest/observer" @@ -62,13 +63,8 @@ func TestAsyncBulkIndexer_flushOnClose(t *testing.T) { }}) require.NoError(t, err) - bulkIndexer, err := newAsyncBulkIndexer(zap.NewNop(), client, &cfg) - require.NoError(t, err) - session, err := bulkIndexer.StartSession(context.Background()) - require.NoError(t, err) + bulkIndexer := runBulkIndexerOnce(t, &cfg, client) - assert.NoError(t, session.Add(context.Background(), "foo", strings.NewReader(`{"foo": "bar"}`), nil)) - assert.NoError(t, bulkIndexer.Close(context.Background())) assert.Equal(t, int64(1), bulkIndexer.stats.docsIndexed.Load()) } @@ -115,10 +111,61 @@ func TestAsyncBulkIndexer_flush(t *testing.T) { } } +func TestAsyncBulkIndexer_requireDataStream(t *testing.T) { + tests := []struct { + name string + config Config + wantRequireDataStream bool + }{ + { + name: "ecs", + config: Config{ + NumWorkers: 1, + Mapping: MappingsSettings{Mode: MappingECS.String()}, + }, + wantRequireDataStream: false, + }, + { + name: "otel", + config: Config{ + NumWorkers: 1, + Mapping: MappingsSettings{Mode: MappingOTel.String()}, + }, + wantRequireDataStream: true, + }, + } + + for _, tt := range tests { + tt := tt + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + requireDataStreamCh := make(chan bool, 1) + client, err := elasticsearch.NewClient(elasticsearch.Config{Transport: &mockTransport{ + RoundTripFunc: func(r *http.Request) (*http.Response, error) { + if r.URL.Path == "/_bulk" { + requireDataStreamCh <- r.URL.Query().Get("require_data_stream") == "true" + } + return &http.Response{ + Header: http.Header{"X-Elastic-Product": []string{"Elasticsearch"}}, + Body: io.NopCloser(strings.NewReader(successResp)), + }, nil + }, + }}) + require.NoError(t, err) + + runBulkIndexerOnce(t, &tt.config, client) + + assert.Equal(t, tt.wantRequireDataStream, <-requireDataStreamCh) + }) + } +} + func TestAsyncBulkIndexer_flush_error(t *testing.T) { tests := []struct { name string roundTripFunc func(*http.Request) (*http.Response, error) + wantMessage string + wantFields []zap.Field }{ { name: "500", @@ -129,6 +176,7 @@ func TestAsyncBulkIndexer_flush_error(t *testing.T) { Body: io.NopCloser(strings.NewReader("error")), }, nil }, + wantMessage: "bulk indexer flush error", }, { name: "429", @@ -139,12 +187,27 @@ func TestAsyncBulkIndexer_flush_error(t *testing.T) { Body: io.NopCloser(strings.NewReader("error")), }, nil }, + wantMessage: "bulk indexer flush error", }, { name: "transport error", roundTripFunc: func(*http.Request) (*http.Response, error) { return nil, errors.New("transport error") }, + wantMessage: "bulk indexer flush error", + }, + { + name: "known version conflict error", + roundTripFunc: func(*http.Request) (*http.Response, error) { + return &http.Response{ + StatusCode: 200, + Header: http.Header{"X-Elastic-Product": []string{"Elasticsearch"}}, + Body: io.NopCloser(strings.NewReader( + `{"items":[{"create":{"_index":".ds-metrics-generic.otel-default","status":400,"error":{"type":"version_conflict_engine_exception","reason":""}}}]}`)), + }, nil + }, + wantMessage: "failed to index document", + wantFields: []zap.Field{zap.String("hint", "check the \"Known issues\" section of Elasticsearch Exporter docs")}, }, } @@ -161,6 +224,8 @@ func TestAsyncBulkIndexer_flush_error(t *testing.T) { bulkIndexer, err := newAsyncBulkIndexer(zap.New(core), client, &cfg) require.NoError(t, err) + defer bulkIndexer.Close(context.Background()) + session, err := bulkIndexer.StartSession(context.Background()) require.NoError(t, err) @@ -168,8 +233,86 @@ func TestAsyncBulkIndexer_flush_error(t *testing.T) { // should flush time.Sleep(100 * time.Millisecond) assert.Equal(t, int64(0), bulkIndexer.stats.docsIndexed.Load()) - assert.NoError(t, bulkIndexer.Close(context.Background())) - assert.Equal(t, 1, observed.FilterMessage("bulk indexer flush error").Len()) + messages := observed.FilterMessage(tt.wantMessage) + require.Equal(t, 1, messages.Len(), "message not found; observed.All()=%v", observed.All()) + for _, wantField := range tt.wantFields { + assert.Equal(t, 1, messages.FilterField(wantField).Len(), "message with field not found; observed.All()=%v", observed.All()) + } + }) + } +} + +func TestAsyncBulkIndexer_logRoundTrip(t *testing.T) { + tests := []struct { + name string + config Config + }{ + { + name: "compression none", + config: Config{ + NumWorkers: 1, + ClientConfig: confighttp.ClientConfig{Compression: "none"}, + }, + }, + { + name: "compression gzip", + config: Config{ + NumWorkers: 1, + ClientConfig: confighttp.ClientConfig{Compression: "gzip"}, + }, + }, + } + + for _, tt := range tests { + tt := tt + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + loggerCore, logObserver := observer.New(zap.DebugLevel) + + esLogger := clientLogger{ + Logger: zap.New(loggerCore), + logRequestBody: true, + logResponseBody: true, + } + + client, err := elasticsearch.NewClient(elasticsearch.Config{ + Transport: &mockTransport{ + RoundTripFunc: func(*http.Request) (*http.Response, error) { + return &http.Response{ + Header: http.Header{"X-Elastic-Product": []string{"Elasticsearch"}}, + Body: io.NopCloser(strings.NewReader(successResp)), + }, nil + }, + }, + Logger: &esLogger, + }) + require.NoError(t, err) + + runBulkIndexerOnce(t, &tt.config, client) + + records := logObserver.AllUntimed() + assert.Len(t, records, 2) + + assert.Equal(t, "/", records[0].ContextMap()["path"]) + assert.Nil(t, records[0].ContextMap()["request_body"]) + assert.JSONEq(t, successResp, records[0].ContextMap()["response_body"].(string)) + + assert.Equal(t, "/_bulk", records[1].ContextMap()["path"]) + assert.Equal(t, "{\"create\":{\"_index\":\"foo\"}}\n{\"foo\": \"bar\"}\n", records[1].ContextMap()["request_body"]) + assert.JSONEq(t, successResp, records[1].ContextMap()["response_body"].(string)) }) } } + +func runBulkIndexerOnce(t *testing.T, config *Config, client *elasticsearch.Client) *asyncBulkIndexer { + bulkIndexer, err := newAsyncBulkIndexer(zap.NewNop(), client, config) + require.NoError(t, err) + session, err := bulkIndexer.StartSession(context.Background()) + require.NoError(t, err) + + assert.NoError(t, session.Add(context.Background(), "foo", strings.NewReader(`{"foo": "bar"}`), nil)) + assert.NoError(t, bulkIndexer.Close(context.Background())) + + return bulkIndexer +} diff --git a/exporter/elasticsearchexporter/config.go b/exporter/elasticsearchexporter/config.go index c02fca9bad88..0835396d928f 100644 --- a/exporter/elasticsearchexporter/config.go +++ b/exporter/elasticsearchexporter/config.go @@ -12,6 +12,7 @@ import ( "strings" "time" + "go.opentelemetry.io/collector/config/configcompression" "go.opentelemetry.io/collector/config/confighttp" "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/exporter/exporterbatcher" @@ -21,7 +22,7 @@ import ( // Config defines configuration for Elastic exporter. type Config struct { - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` // Endpoints holds the Elasticsearch URLs the exporter should send events to. // // This setting is required if CloudID is not set and if the @@ -152,7 +153,7 @@ type DiscoverySettings struct { Interval time.Duration `mapstructure:"interval"` } -// FlushSettings defines settings for configuring the write buffer flushing +// FlushSettings defines settings for configuring the write buffer flushing // policy in the Elasticsearch exporter. The exporter sends a bulk request with // all events already serialized into the send-buffer. type FlushSettings struct { @@ -169,9 +170,13 @@ type RetrySettings struct { // Enabled allows users to disable retry without having to comment out all settings. Enabled bool `mapstructure:"enabled"` - // MaxRequests configures how often an HTTP request is retried before it is assumed to be failed. + // MaxRequests configures how often an HTTP request is attempted before it is assumed to be failed. + // Deprecated: use MaxRetries instead. MaxRequests int `mapstructure:"max_requests"` + // MaxRetries configures how many times an HTTP request is retried. + MaxRetries int `mapstructure:"max_retries"` + // InitialInterval configures the initial waiting time if a request failed. InitialInterval time.Duration `mapstructure:"initial_interval"` @@ -207,6 +212,7 @@ const ( MappingECS MappingOTel MappingRaw + MappingBodyMap ) var ( @@ -224,6 +230,8 @@ func (m MappingMode) String() string { return "otel" case MappingRaw: return "raw" + case MappingBodyMap: + return "bodymap" default: return "" } @@ -236,6 +244,7 @@ var mappingModes = func() map[string]MappingMode { MappingECS, MappingOTel, MappingRaw, + MappingBodyMap, } { table[strings.ToLower(m.String())] = m } @@ -265,10 +274,20 @@ func (cfg *Config) Validate() error { return fmt.Errorf("unknown mapping mode %q", cfg.Mapping.Mode) } - if cfg.Compression != "" { - // TODO support confighttp.ClientConfig.Compression - return errors.New("compression is not currently configurable") + if cfg.Compression != "none" && cfg.Compression != configcompression.TypeGzip { + return errors.New("compression must be one of [none, gzip]") + } + + if cfg.Retry.MaxRequests != 0 && cfg.Retry.MaxRetries != 0 { + return errors.New("must not specify both retry::max_requests and retry::max_retries") + } + if cfg.Retry.MaxRequests < 0 { + return errors.New("retry::max_requests should be non-negative") } + if cfg.Retry.MaxRetries < 0 { + return errors.New("retry::max_retries should be non-negative") + } + return nil } @@ -351,11 +370,16 @@ func (cfg *Config) MappingMode() MappingMode { return mappingModes[cfg.Mapping.Mode] } -func logConfigDeprecationWarnings(cfg *Config, logger *zap.Logger) { +func handleDeprecatedConfig(cfg *Config, logger *zap.Logger) { if cfg.Mapping.Dedup != nil { logger.Warn("dedup is deprecated, and is always enabled") } if cfg.Mapping.Dedot && cfg.MappingMode() != MappingECS || !cfg.Mapping.Dedot && cfg.MappingMode() == MappingECS { logger.Warn("dedot has been deprecated: in the future, dedotting will always be performed in ECS mode only") } + if cfg.Retry.MaxRequests != 0 { + cfg.Retry.MaxRetries = cfg.Retry.MaxRequests - 1 + // Do not set cfg.Retry.Enabled = false if cfg.Retry.MaxRequest = 1 to avoid breaking change on behavior + logger.Warn("retry::max_requests has been deprecated, and will be removed in a future version. Use retry::max_retries instead.") + } } diff --git a/exporter/elasticsearchexporter/config_test.go b/exporter/elasticsearchexporter/config_test.go index e279ca472cea..baec2bd9646a 100644 --- a/exporter/elasticsearchexporter/config_test.go +++ b/exporter/elasticsearchexporter/config_test.go @@ -6,6 +6,7 @@ package elasticsearchexporter import ( "net/http" "path/filepath" + "strings" "testing" "time" @@ -38,6 +39,7 @@ func TestConfig(t *testing.T) { defaultMaxIdleConns := 100 defaultIdleConnTimeout := 90 * time.Second + defaultCompression := configcompression.TypeGzip tests := []struct { configFile string @@ -53,10 +55,10 @@ func TestConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "trace"), configFile: "config.yaml", expected: &Config{ - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: false, - NumConsumers: exporterhelper.NewDefaultQueueSettings().NumConsumers, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + NumConsumers: exporterhelper.NewDefaultQueueConfig().NumConsumers, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, Endpoints: []string{"https://elastic.example.com:9200"}, Index: "", @@ -80,6 +82,7 @@ func TestConfig(t *testing.T) { cfg.Headers = map[string]configopaque.String{ "myheader": "test", } + cfg.Compression = defaultCompression }), Authentication: AuthenticationSettings{ User: "elastic", @@ -94,7 +97,7 @@ func TestConfig(t *testing.T) { }, Retry: RetrySettings{ Enabled: true, - MaxRequests: 5, + MaxRetries: 5, InitialInterval: 100 * time.Millisecond, MaxInterval: 1 * time.Minute, RetryOnStatus: []int{http.StatusTooManyRequests, http.StatusInternalServerError}, @@ -123,10 +126,10 @@ func TestConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "log"), configFile: "config.yaml", expected: &Config{ - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, - NumConsumers: exporterhelper.NewDefaultQueueSettings().NumConsumers, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + NumConsumers: exporterhelper.NewDefaultQueueConfig().NumConsumers, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, Endpoints: []string{"http://localhost:9200"}, Index: "", @@ -150,6 +153,7 @@ func TestConfig(t *testing.T) { cfg.Headers = map[string]configopaque.String{ "myheader": "test", } + cfg.Compression = defaultCompression }), Authentication: AuthenticationSettings{ User: "elastic", @@ -164,7 +168,7 @@ func TestConfig(t *testing.T) { }, Retry: RetrySettings{ Enabled: true, - MaxRequests: 5, + MaxRetries: 5, InitialInterval: 100 * time.Millisecond, MaxInterval: 1 * time.Minute, RetryOnStatus: []int{http.StatusTooManyRequests, http.StatusInternalServerError}, @@ -193,10 +197,10 @@ func TestConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "metric"), configFile: "config.yaml", expected: &Config{ - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, - NumConsumers: exporterhelper.NewDefaultQueueSettings().NumConsumers, - QueueSize: exporterhelper.NewDefaultQueueSettings().QueueSize, + NumConsumers: exporterhelper.NewDefaultQueueConfig().NumConsumers, + QueueSize: exporterhelper.NewDefaultQueueConfig().QueueSize, }, Endpoints: []string{"http://localhost:9200"}, Index: "", @@ -220,6 +224,7 @@ func TestConfig(t *testing.T) { cfg.Headers = map[string]configopaque.String{ "myheader": "test", } + cfg.Compression = defaultCompression }), Authentication: AuthenticationSettings{ User: "elastic", @@ -234,7 +239,7 @@ func TestConfig(t *testing.T) { }, Retry: RetrySettings{ Enabled: true, - MaxRequests: 5, + MaxRetries: 5, InitialInterval: 100 * time.Millisecond, MaxInterval: 1 * time.Minute, RetryOnStatus: []int{http.StatusTooManyRequests, http.StatusInternalServerError}, @@ -301,10 +306,29 @@ func TestConfig(t *testing.T) { cfg.Batcher.Enabled = &enabled }), }, + { + id: component.NewIDWithName(metadata.Type, "compression_none"), + configFile: "config.yaml", + expected: withDefaultConfig(func(cfg *Config) { + cfg.Endpoint = "https://elastic.example.com:9200" + + cfg.Compression = "none" + }), + }, + { + id: component.NewIDWithName(metadata.Type, "compression_gzip"), + configFile: "config.yaml", + expected: withDefaultConfig(func(cfg *Config) { + cfg.Endpoint = "https://elastic.example.com:9200" + + cfg.Compression = "gzip" + }), + }, } for _, tt := range tests { - t.Run(tt.id.String(), func(t *testing.T) { + tt := tt + t.Run(strings.ReplaceAll(tt.id.String(), "/", "_"), func(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() @@ -387,16 +411,23 @@ func TestConfig_Validate(t *testing.T) { "compression unsupported": { config: withDefaultConfig(func(cfg *Config) { cfg.Endpoints = []string{"http://test:9200"} - cfg.Compression = configcompression.TypeGzip + cfg.Compression = configcompression.TypeSnappy + }), + err: `compression must be one of [none, gzip]`, + }, + "both max_retries and max_requests specified": { + config: withDefaultConfig(func(cfg *Config) { + cfg.Endpoints = []string{"http://test:9200"} + cfg.Retry.MaxRetries = 1 + cfg.Retry.MaxRequests = 1 }), - err: `compression is not currently configurable`, + err: `must not specify both retry::max_requests and retry::max_retries`, }, } for name, tt := range tests { t.Run(name, func(t *testing.T) { - err := tt.config.Validate() - assert.EqualError(t, err, tt.err) + assert.EqualError(t, component.ValidateConfig(tt.config), tt.err) }) } } @@ -405,13 +436,13 @@ func TestConfig_Validate_Environment(t *testing.T) { t.Run("valid", func(t *testing.T) { t.Setenv("ELASTICSEARCH_URL", "http://test:9200") config := withDefaultConfig() - err := config.Validate() + err := component.ValidateConfig(config) require.NoError(t, err) }) t.Run("invalid", func(t *testing.T) { t.Setenv("ELASTICSEARCH_URL", "http://valid:9200, *:!") config := withDefaultConfig() - err := config.Validate() + err := component.ValidateConfig(config) assert.EqualError(t, err, `invalid endpoint "*:!": parse "*:!": first path segment in URL cannot contain colon`) }) } diff --git a/exporter/elasticsearchexporter/data_stream_router.go b/exporter/elasticsearchexporter/data_stream_router.go index 851bb92d9756..a64b15d0ad97 100644 --- a/exporter/elasticsearchexporter/data_stream_router.go +++ b/exporter/elasticsearchexporter/data_stream_router.go @@ -5,18 +5,47 @@ package elasticsearchexporter // import "github.com/open-telemetry/opentelemetry import ( "fmt" + "regexp" + "strings" + "unicode" "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/plog" - "go.opentelemetry.io/collector/pdata/ptrace" ) +var receiverRegex = regexp.MustCompile(`/receiver/(\w*receiver)`) + +const ( + maxDataStreamBytes = 100 + disallowedNamespaceRunes = "\\/*?\"<>| ,#:" + disallowedDatasetRunes = "-\\/*?\"<>| ,#:" +) + +// Sanitize the datastream fields (dataset, namespace) to apply restrictions +// as outlined in https://www.elastic.co/guide/en/ecs/current/ecs-data_stream.html +// The suffix will be appended after truncation of max bytes. +func sanitizeDataStreamField(field, disallowed, appendSuffix string) string { + field = strings.Map(func(r rune) rune { + if strings.ContainsRune(disallowed, r) { + return '_' + } + return unicode.ToLower(r) + }, field) + + if len(field) > maxDataStreamBytes-len(appendSuffix) { + field = field[:maxDataStreamBytes-len(appendSuffix)] + } + field += appendSuffix + + return field +} + func routeWithDefaults(defaultDSType string) func( pcommon.Map, pcommon.Map, pcommon.Map, string, bool, + string, ) string { return func( recordAttr pcommon.Map, @@ -24,11 +53,13 @@ func routeWithDefaults(defaultDSType string) func( resourceAttr pcommon.Map, fIndex string, otel bool, + scopeName string, ) string { // Order: // 1. read data_stream.* from attributes // 2. read elasticsearch.index.* from attributes - // 3. use default hardcoded data_stream.* + // 3. receiver-based routing + // 4. use default hardcoded data_stream.* dataset, datasetExists := getFromAttributes(dataStreamDataset, defaultDataStreamDataset, recordAttr, scopeAttr, resourceAttr) namespace, namespaceExists := getFromAttributes(dataStreamNamespace, defaultDataStreamNamespace, recordAttr, scopeAttr, resourceAttr) dataStreamMode := datasetExists || namespaceExists @@ -40,68 +71,47 @@ func routeWithDefaults(defaultDSType string) func( } } - // The naming convention for datastream is expected to be "logs-[dataset].otel-[namespace]". - // This is in order to match the soon to be built-in logs-*.otel-* index template. + // Receiver-based routing + // For example, hostmetricsreceiver (or hostmetricsreceiver.otel in the OTel output mode) + // for the scope name + // github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/cpuscraper + if submatch := receiverRegex.FindStringSubmatch(scopeName); len(submatch) > 0 { + receiverName := submatch[1] + dataset = receiverName + } + + // For dataset, the naming convention for datastream is expected to be "logs-[dataset].otel-[namespace]". + // This is in order to match the built-in logs-*.otel-* index template. + var datasetSuffix string if otel { - dataset += ".otel" + datasetSuffix += ".otel" } + dataset = sanitizeDataStreamField(dataset, disallowedDatasetRunes, datasetSuffix) + namespace = sanitizeDataStreamField(namespace, disallowedNamespaceRunes, "") + recordAttr.PutStr(dataStreamDataset, dataset) recordAttr.PutStr(dataStreamNamespace, namespace) recordAttr.PutStr(dataStreamType, defaultDSType) + return fmt.Sprintf("%s-%s-%s", defaultDSType, dataset, namespace) } } -// routeLogRecord returns the name of the index to send the log record to according to data stream routing attributes and prefix/suffix attributes. -// This function may mutate record attributes. -func routeLogRecord( - record plog.LogRecord, - scope pcommon.InstrumentationScope, - resource pcommon.Resource, - fIndex string, - otel bool, -) string { - route := routeWithDefaults(defaultDataStreamTypeLogs) - return route(record.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, otel) -} +var ( + // routeLogRecord returns the name of the index to send the log record to according to data stream routing related attributes. + // This function may mutate record attributes. + routeLogRecord = routeWithDefaults(defaultDataStreamTypeLogs) -// routeDataPoint returns the name of the index to send the data point to according to data stream routing attributes. -// This function may mutate record attributes. -func routeDataPoint( - dataPoint dataPoint, - scope pcommon.InstrumentationScope, - resource pcommon.Resource, - fIndex string, - otel bool, -) string { - route := routeWithDefaults(defaultDataStreamTypeMetrics) - return route(dataPoint.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, otel) -} + // routeDataPoint returns the name of the index to send the data point to according to data stream routing related attributes. + // This function may mutate record attributes. + routeDataPoint = routeWithDefaults(defaultDataStreamTypeMetrics) -// routeSpan returns the name of the index to send the span to according to data stream routing attributes. -// This function may mutate record attributes. -func routeSpan( - span ptrace.Span, - scope pcommon.InstrumentationScope, - resource pcommon.Resource, - fIndex string, - otel bool, -) string { - route := routeWithDefaults(defaultDataStreamTypeTraces) - return route(span.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, otel) -} + // routeSpan returns the name of the index to send the span to according to data stream routing related attributes. + // This function may mutate record attributes. + routeSpan = routeWithDefaults(defaultDataStreamTypeTraces) -// routeSpanEvent returns the name of the index to send the span event to according to data stream routing attributes. -// This function may mutate record attributes. -func routeSpanEvent( - spanEvent ptrace.SpanEvent, - scope pcommon.InstrumentationScope, - resource pcommon.Resource, - fIndex string, - otel bool, -) string { - // span events are sent to logs-*, not traces-* - route := routeWithDefaults(defaultDataStreamTypeLogs) - return route(spanEvent.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, otel) -} + // routeSpanEvent returns the name of the index to send the span event to according to data stream routing related attributes. + // This function may mutate record attributes. + routeSpanEvent = routeWithDefaults(defaultDataStreamTypeLogs) +) diff --git a/exporter/elasticsearchexporter/data_stream_router_test.go b/exporter/elasticsearchexporter/data_stream_router_test.go index 26b126759972..81450da4d7a1 100644 --- a/exporter/elasticsearchexporter/data_stream_router_test.go +++ b/exporter/elasticsearchexporter/data_stream_router_test.go @@ -8,70 +8,90 @@ import ( "testing" "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/pdata/plog" - "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/collector/pdata/pcommon" ) -type routeTestInfo struct { - name string - otel bool - want string +type routeTestCase struct { + name string + otel bool + scopeName string + want string } -func createRouteTests(dsType string) []routeTestInfo { - renderWantRoute := func(dsType string, otel bool) string { +func createRouteTests(dsType string) []routeTestCase { + renderWantRoute := func(dsType, dsDataset string, otel bool) string { if otel { - return fmt.Sprintf("%s-%s.otel-%s", dsType, defaultDataStreamDataset, defaultDataStreamNamespace) + return fmt.Sprintf("%s-%s.otel-%s", dsType, dsDataset, defaultDataStreamNamespace) } - return fmt.Sprintf("%s-%s-%s", dsType, defaultDataStreamDataset, defaultDataStreamNamespace) + return fmt.Sprintf("%s-%s-%s", dsType, dsDataset, defaultDataStreamNamespace) } - return []routeTestInfo{ + return []routeTestCase{ { name: "default", otel: false, - want: renderWantRoute(dsType, false), + want: renderWantRoute(dsType, defaultDataStreamDataset, false), }, { name: "otel", otel: true, - want: renderWantRoute(dsType, true), + want: renderWantRoute(dsType, defaultDataStreamDataset, true), + }, + { + name: "default with receiver scope name", + otel: false, + scopeName: "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/cpuscraper", + want: renderWantRoute(dsType, "hostmetricsreceiver", false), + }, + { + name: "otel with receiver scope name", + otel: true, + scopeName: "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/cpuscraper", + want: renderWantRoute(dsType, "hostmetricsreceiver", true), + }, + { + name: "default with non-receiver scope name", + otel: false, + scopeName: "some_other_scope_name", + want: renderWantRoute(dsType, defaultDataStreamDataset, false), + }, + { + name: "otel with non-receiver scope name", + otel: true, + scopeName: "some_other_scope_name", + want: renderWantRoute(dsType, defaultDataStreamDataset, true), }, } } func TestRouteLogRecord(t *testing.T) { - tests := createRouteTests(defaultDataStreamTypeLogs) for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { - ds := routeLogRecord(plog.NewLogRecord(), plog.NewScopeLogs().Scope(), plog.NewResourceLogs().Resource(), "", tc.otel) + ds := routeLogRecord(pcommon.NewMap(), pcommon.NewMap(), pcommon.NewMap(), "", tc.otel, tc.scopeName) assert.Equal(t, tc.want, ds) }) } } func TestRouteDataPoint(t *testing.T) { - tests := createRouteTests(defaultDataStreamTypeMetrics) for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { - ds := routeDataPoint(pmetric.NewNumberDataPoint(), plog.NewScopeLogs().Scope(), plog.NewResourceLogs().Resource(), "", tc.otel) + ds := routeDataPoint(pcommon.NewMap(), pcommon.NewMap(), pcommon.NewMap(), "", tc.otel, tc.scopeName) assert.Equal(t, tc.want, ds) }) } } func TestRouteSpan(t *testing.T) { - tests := createRouteTests(defaultDataStreamTypeTraces) for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { - ds := routeSpan(ptrace.NewSpan(), plog.NewScopeLogs().Scope(), plog.NewResourceLogs().Resource(), "", tc.otel) + ds := routeSpan(pcommon.NewMap(), pcommon.NewMap(), pcommon.NewMap(), "", tc.otel, tc.scopeName) assert.Equal(t, tc.want, ds) }) } diff --git a/exporter/elasticsearchexporter/esclient.go b/exporter/elasticsearchexporter/esclient.go index 23c2d48bb9ef..927f62844ec3 100644 --- a/exporter/elasticsearchexporter/esclient.go +++ b/exporter/elasticsearchexporter/esclient.go @@ -11,6 +11,7 @@ import ( "github.com/cenkalti/backoff/v4" "github.com/elastic/go-elasticsearch/v7" + "github.com/klauspost/compress/gzip" "go.opentelemetry.io/collector/component" "go.uber.org/zap" @@ -32,7 +33,14 @@ func (cl *clientLogger) LogRoundTrip(requ *http.Request, resp *http.Response, cl var fields []zap.Field if cl.logRequestBody && requ != nil && requ.Body != nil { - if b, err := io.ReadAll(requ.Body); err == nil { + body := requ.Body + if requ.Header.Get("Content-Encoding") == "gzip" { + if r, err := gzip.NewReader(body); err == nil { + defer r.Close() + body = r + } + } + if b, err := io.ReadAll(body); err == nil { fields = append(fields, zap.ByteString("request_body", b)) } } @@ -90,16 +98,6 @@ func newElasticsearchClient( headers := make(http.Header) headers.Set("User-Agent", userAgent) - // maxRetries configures the maximum number of event publishing attempts, - // including the first send and additional retries. - - maxRetries := config.Retry.MaxRequests - 1 - retryDisabled := !config.Retry.Enabled || maxRetries <= 0 - - if retryDisabled { - maxRetries = 0 - } - // endpoints converts Config.Endpoints, Config.CloudID, // and Config.ClientConfig.Endpoint to a list of addresses. endpoints, err := config.endpoints() @@ -113,6 +111,11 @@ func newElasticsearchClient( logResponseBody: config.LogResponseBody, } + maxRetries := defaultMaxRetries + if config.Retry.MaxRetries != 0 { + maxRetries = config.Retry.MaxRetries + } + return elasticsearch.NewClient(elasticsearch.Config{ Transport: httpClient.Transport, @@ -125,7 +128,7 @@ func newElasticsearchClient( // configure retry behavior RetryOnStatus: config.Retry.RetryOnStatus, - DisableRetry: retryDisabled, + DisableRetry: !config.Retry.Enabled, EnableRetryOnTimeout: config.Retry.Enabled, //RetryOnError: retryOnError, // should be used from esclient version 8 onwards MaxRetries: maxRetries, diff --git a/exporter/elasticsearchexporter/exporter.go b/exporter/elasticsearchexporter/exporter.go index 2bf4c0250fa4..ebd3800858a2 100644 --- a/exporter/elasticsearchexporter/exporter.go +++ b/exporter/elasticsearchexporter/exporter.go @@ -18,6 +18,7 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" + "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter/internal/objmodel" ) @@ -42,11 +43,7 @@ func newExporter( set exporter.Settings, index string, dynamicIndex bool, -) (*elasticsearchExporter, error) { - if err := cfg.Validate(); err != nil { - return nil, err - } - +) *elasticsearchExporter { model := &encodeModel{ dedot: cfg.Mapping.Dedot, mode: cfg.MappingMode(), @@ -72,7 +69,7 @@ func newExporter( model: model, logstashFormat: cfg.LogstashFormat, otel: otel, - }, nil + } } func (e *elasticsearchExporter) Start(ctx context.Context, host component.Host) error { @@ -134,6 +131,11 @@ func (e *elasticsearchExporter) pushLogsData(ctx context.Context, ld plog.Logs) return cerr } + if errors.Is(err, ErrInvalidTypeForBodyMapMode) { + e.Logger.Warn("dropping log record", zap.Error(err)) + continue + } + errs = append(errs, err) } } @@ -160,7 +162,7 @@ func (e *elasticsearchExporter) pushLogRecord( ) error { fIndex := e.index if e.dynamicIndex { - fIndex = routeLogRecord(record, scope, resource, fIndex, e.otel) + fIndex = routeLogRecord(record.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, e.otel, scope.Name()) } if e.logstashFormat.Enabled { @@ -191,7 +193,10 @@ func (e *elasticsearchExporter) pushMetricsData( } defer session.End() - var errs []error + var ( + validationErrs []error // log instead of returning these so that upstream does not retry + errs []error + ) resourceMetrics := metrics.ResourceMetrics() for i := 0; i < resourceMetrics.Len(); i++ { resourceMetric := resourceMetrics.At(i) @@ -206,7 +211,7 @@ func (e *elasticsearchExporter) pushMetricsData( for k := 0; k < scopeMetrics.Metrics().Len(); k++ { metric := scopeMetrics.Metrics().At(k) - upsertDataPoint := func(dp dataPoint, dpValue pcommon.Value) error { + upsertDataPoint := func(dp dataPoint) error { fIndex, err := e.getMetricDataPointIndex(resource, scope, dp) if err != nil { return err @@ -216,7 +221,7 @@ func (e *elasticsearchExporter) pushMetricsData( } if err = e.model.upsertMetricDataPointValue(resourceDocs[fIndex], resource, - resourceMetric.SchemaUrl(), scope, scopeMetrics.SchemaUrl(), metric, dp, dpValue); err != nil { + resourceMetric.SchemaUrl(), scope, scopeMetrics.SchemaUrl(), metric, dp); err != nil { return err } return nil @@ -227,13 +232,8 @@ func (e *elasticsearchExporter) pushMetricsData( dps := metric.Sum().DataPoints() for l := 0; l < dps.Len(); l++ { dp := dps.At(l) - val, err := numberToValue(dp) - if err != nil { - errs = append(errs, err) - continue - } - if err := upsertDataPoint(dp, val); err != nil { - errs = append(errs, err) + if err := upsertDataPoint(newNumberDataPoint(dp)); err != nil { + validationErrs = append(validationErrs, err) continue } } @@ -241,37 +241,34 @@ func (e *elasticsearchExporter) pushMetricsData( dps := metric.Gauge().DataPoints() for l := 0; l < dps.Len(); l++ { dp := dps.At(l) - val, err := numberToValue(dp) - if err != nil { - errs = append(errs, err) - continue - } - if err := upsertDataPoint(dp, val); err != nil { - errs = append(errs, err) + if err := upsertDataPoint(newNumberDataPoint(dp)); err != nil { + validationErrs = append(validationErrs, err) continue } } case pmetric.MetricTypeExponentialHistogram: + if metric.ExponentialHistogram().AggregationTemporality() == pmetric.AggregationTemporalityCumulative { + validationErrs = append(validationErrs, fmt.Errorf("dropping cumulative temporality exponential histogram %q", metric.Name())) + continue + } dps := metric.ExponentialHistogram().DataPoints() for l := 0; l < dps.Len(); l++ { dp := dps.At(l) - val := exponentialHistogramToValue(dp) - if err := upsertDataPoint(dp, val); err != nil { - errs = append(errs, err) + if err := upsertDataPoint(newExponentialHistogramDataPoint(dp)); err != nil { + validationErrs = append(validationErrs, err) continue } } case pmetric.MetricTypeHistogram: + if metric.Histogram().AggregationTemporality() == pmetric.AggregationTemporalityCumulative { + validationErrs = append(validationErrs, fmt.Errorf("dropping cumulative temporality histogram %q", metric.Name())) + continue + } dps := metric.Histogram().DataPoints() for l := 0; l < dps.Len(); l++ { dp := dps.At(l) - val, err := histogramToValue(dp) - if err != nil { - errs = append(errs, err) - continue - } - if err := upsertDataPoint(dp, val); err != nil { - errs = append(errs, err) + if err := upsertDataPoint(newHistogramDataPoint(dp)); err != nil { + validationErrs = append(validationErrs, err) continue } } @@ -279,9 +276,8 @@ func (e *elasticsearchExporter) pushMetricsData( dps := metric.Summary().DataPoints() for l := 0; l < dps.Len(); l++ { dp := dps.At(l) - val := summaryToValue(dp) - if err := upsertDataPoint(dp, val); err != nil { - errs = append(errs, err) + if err := upsertDataPoint(newSummaryDataPoint(dp)); err != nil { + validationErrs = append(validationErrs, err) continue } } @@ -289,6 +285,10 @@ func (e *elasticsearchExporter) pushMetricsData( } } + if len(validationErrs) > 0 { + e.Logger.Warn("validation errors", zap.Error(errors.Join(validationErrs...))) + } + for fIndex, docs := range resourceDocs { for _, doc := range docs { var ( @@ -326,7 +326,7 @@ func (e *elasticsearchExporter) getMetricDataPointIndex( ) (string, error) { fIndex := e.index if e.dynamicIndex { - fIndex = routeDataPoint(dataPoint, scope, resource, fIndex, e.otel) + fIndex = routeDataPoint(dataPoint.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, e.otel, scope.Name()) } if e.logstashFormat.Enabled { @@ -400,7 +400,7 @@ func (e *elasticsearchExporter) pushTraceRecord( ) error { fIndex := e.index if e.dynamicIndex { - fIndex = routeSpan(span, scope, resource, fIndex, e.otel) + fIndex = routeSpan(span.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, e.otel, span.Name()) } if e.logstashFormat.Enabled { @@ -430,7 +430,7 @@ func (e *elasticsearchExporter) pushSpanEvent( ) error { fIndex := e.index if e.dynamicIndex { - fIndex = routeSpanEvent(spanEvent, scope, resource, fIndex, e.otel) + fIndex = routeSpanEvent(spanEvent.Attributes(), scope.Attributes(), resource.Attributes(), fIndex, e.otel, scope.Name()) } if e.logstashFormat.Enabled { diff --git a/exporter/elasticsearchexporter/exporter_test.go b/exporter/elasticsearchexporter/exporter_test.go index 02ca4f512244..74933eaf40c3 100644 --- a/exporter/elasticsearchexporter/exporter_test.go +++ b/exporter/elasticsearchexporter/exporter_test.go @@ -81,6 +81,131 @@ func TestExporterLogs(t *testing.T) { rec.WaitItems(1) }) + t.Run("publish with bodymap encoding", func(t *testing.T) { + tableTests := []struct { + name string + body func() pcommon.Value + expected string + }{ + { + name: "flat", + body: func() pcommon.Value { + body := pcommon.NewValueMap() + m := body.Map() + m.PutStr("@timestamp", "2024-03-12T20:00:41.123456789Z") + m.PutInt("id", 1) + m.PutStr("key", "value") + return body + }, + expected: `{"@timestamp":"2024-03-12T20:00:41.123456789Z","id":1,"key":"value"}`, + }, + { + name: "dotted key", + body: func() pcommon.Value { + body := pcommon.NewValueMap() + m := body.Map() + m.PutInt("a", 1) + m.PutInt("a.b", 2) + m.PutInt("a.b.c", 3) + return body + }, + expected: `{"a":1,"a.b":2,"a.b.c":3}`, + }, + { + name: "slice", + body: func() pcommon.Value { + body := pcommon.NewValueMap() + m := body.Map() + s := m.PutEmptySlice("a") + for i := 0; i < 2; i++ { + s.AppendEmpty().SetInt(int64(i)) + } + return body + }, + expected: `{"a":[0,1]}`, + }, + { + name: "inner map", + body: func() pcommon.Value { + body := pcommon.NewValueMap() + m := body.Map() + m1 := m.PutEmptyMap("a") + m1.PutInt("b", 1) + m1.PutInt("c", 2) + return body + }, + expected: `{"a":{"b":1,"c":2}}`, + }, + { + name: "nested map", + body: func() pcommon.Value { + body := pcommon.NewValueMap() + m := body.Map() + m1 := m.PutEmptyMap("a") + m2 := m1.PutEmptyMap("b") + m2.PutInt("c", 1) + m2.PutInt("d", 2) + return body + }, + expected: `{"a":{"b":{"c":1,"d":2}}}`, + }, + } + + for _, tt := range tableTests { + t.Run(tt.name, func(t *testing.T) { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + assert.JSONEq(t, tt.expected, string(docs[0].Document)) + return itemsAllOK(docs) + }) + + exporter := newTestLogsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "bodymap" + }) + logs := plog.NewLogs() + resourceLogs := logs.ResourceLogs().AppendEmpty() + scopeLogs := resourceLogs.ScopeLogs().AppendEmpty() + logRecords := scopeLogs.LogRecords() + logRecord := logRecords.AppendEmpty() + tt.body().CopyTo(logRecord.Body()) + + mustSendLogs(t, exporter, logs) + rec.WaitItems(1) + }) + } + }) + + t.Run("drops log records for bodymap mode if body is not a map", func(t *testing.T) { + logs := plog.NewLogs() + resourceLogs := logs.ResourceLogs().AppendEmpty() + scopeLogs := resourceLogs.ScopeLogs().AppendEmpty() + logRecords := scopeLogs.LogRecords() + + // Invalid body type should be dropped. + logRecords.AppendEmpty().Body().SetEmptySlice() + + // We should still process the valid records in the batch. + bodyMap := logRecords.AppendEmpty().Body().SetEmptyMap() + bodyMap.PutInt("a", 42) + + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + defer rec.Record(docs) + assert.Len(t, docs, 1) + assert.JSONEq(t, `{"a":42}`, string(docs[0].Document)) + return itemsAllOK(docs) + }) + + exporter := newTestLogsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "bodymap" + }) + + err := exporter.ConsumeLogs(context.Background(), logs) + assert.NoError(t, err) + rec.WaitItems(1) + }) + t.Run("publish with dedot", func(t *testing.T) { rec := newBulkRecorder() server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { @@ -108,7 +233,7 @@ func TestExporterLogs(t *testing.T) { t.Run("publish with dedup", func(t *testing.T) { rec := newBulkRecorder() server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { - assert.Equal(t, `{"@timestamp":"1970-01-01T00:00:00.000000000Z","Scope":{"name":"","value":"value","version":""},"SeverityNumber":0,"TraceFlags":0}`, string(docs[0].Document)) + assert.JSONEq(t, `{"@timestamp":"1970-01-01T00:00:00.000000000Z","Scope":{"name":"","value":"value","version":""},"SeverityNumber":0,"TraceFlags":0}`, string(docs[0].Document)) rec.Record(docs) return itemsAllOK(docs) }) @@ -215,7 +340,8 @@ func TestExporterLogs(t *testing.T) { server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { rec.Record(docs) - assert.Equal(t, "logs-record.dataset-resource.namespace", actionJSONToIndex(t, docs[0].Action)) + expected := "logs-record.dataset.____________-resource.namespace.-____________" + assert.Equal(t, expected, actionJSONToIndex(t, docs[0].Action)) return itemsAllOK(docs) }) @@ -225,12 +351,12 @@ func TestExporterLogs(t *testing.T) { }) logs := newLogsWithAttributes( map[string]any{ - dataStreamDataset: "record.dataset", + dataStreamDataset: "record.dataset.\\/*?\"<>| ,#:", }, nil, map[string]any{ dataStreamDataset: "resource.dataset", - dataStreamNamespace: "resource.namespace", + dataStreamNamespace: "resource.namespace.-\\/*?\"<>| ,#:", }, ) logs.ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0).Body().SetStr("hello world") @@ -293,38 +419,104 @@ func TestExporterLogs(t *testing.T) { }) t.Run("publish otel mapping mode", func(t *testing.T) { - rec := newBulkRecorder() - server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { - rec.Record(docs) - return itemsAllOK(docs) - }) - - exporter := newTestLogsExporter(t, server.URL, func(cfg *Config) { - cfg.LogsDynamicIndex.Enabled = true - cfg.Mapping.Mode = "otel" - }) - mustSendLogs(t, exporter, newLogsWithAttributes( - map[string]any{ - "data_stream.dataset": "attr.dataset", - "attr.foo": "attr.foo.value", + for _, tc := range []struct { + body pcommon.Value + isEvent bool + wantDocument []byte + }{ + { + body: func() pcommon.Value { + return pcommon.NewValueStr("foo") + }(), + wantDocument: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","attributes":{"attr.foo":"attr.foo.value"},"data_stream":{"dataset":"attr.dataset.otel","namespace":"resource.attribute.namespace","type":"logs"},"dropped_attributes_count":0,"observed_timestamp":"1970-01-01T00:00:00.000000000Z","resource":{"attributes":{"resource.attr.foo":"resource.attr.foo.value"},"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"severity_number":0,"body":{"text":"foo"}}`), }, - nil, - map[string]any{ - "data_stream.dataset": "resource.attribute.dataset", - "data_stream.namespace": "resource.attribute.namespace", - "resource.attr.foo": "resource.attr.foo.value", + { + body: func() pcommon.Value { + vm := pcommon.NewValueMap() + m := vm.SetEmptyMap() + m.PutBool("true", true) + m.PutBool("false", false) + m.PutEmptyMap("inner").PutStr("foo", "bar") + return vm + }(), + wantDocument: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","attributes":{"attr.foo":"attr.foo.value"},"data_stream":{"dataset":"attr.dataset.otel","namespace":"resource.attribute.namespace","type":"logs"},"dropped_attributes_count":0,"observed_timestamp":"1970-01-01T00:00:00.000000000Z","resource":{"attributes":{"resource.attr.foo":"resource.attr.foo.value"},"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"severity_number":0,"body":{"flattened":{"true":true,"false":false,"inner":{"foo":"bar"}}}}`), + }, + { + body: func() pcommon.Value { + vm := pcommon.NewValueMap() + m := vm.SetEmptyMap() + m.PutBool("true", true) + m.PutBool("false", false) + m.PutEmptyMap("inner").PutStr("foo", "bar") + return vm + }(), + isEvent: true, + wantDocument: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","attributes":{"attr.foo":"attr.foo.value","event.name":"foo"},"data_stream":{"dataset":"attr.dataset.otel","namespace":"resource.attribute.namespace","type":"logs"},"dropped_attributes_count":0,"observed_timestamp":"1970-01-01T00:00:00.000000000Z","resource":{"attributes":{"resource.attr.foo":"resource.attr.foo.value"},"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"severity_number":0,"body":{"structured":{"true":true,"false":false,"inner":{"foo":"bar"}}}}`), + }, + { + body: func() pcommon.Value { + vs := pcommon.NewValueSlice() + s := vs.Slice() + s.AppendEmpty().SetStr("foo") + s.AppendEmpty().SetBool(false) + s.AppendEmpty().SetEmptyMap().PutStr("foo", "bar") + return vs + }(), + wantDocument: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","attributes":{"attr.foo":"attr.foo.value"},"data_stream":{"dataset":"attr.dataset.otel","namespace":"resource.attribute.namespace","type":"logs"},"dropped_attributes_count":0,"observed_timestamp":"1970-01-01T00:00:00.000000000Z","resource":{"attributes":{"resource.attr.foo":"resource.attr.foo.value"},"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"severity_number":0,"body":{"flattened":{"value":["foo",false,{"foo":"bar"}]}}}`), }, - )) - rec.WaitItems(1) - - expected := []itemRequest{ { - Action: []byte(`{"create":{"_index":"logs-attr.dataset.otel-resource.attribute.namespace"}}`), - Document: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","attributes":{"attr.foo":"attr.foo.value"},"data_stream":{"dataset":"attr.dataset.otel","namespace":"resource.attribute.namespace","type":"logs"},"dropped_attributes_count":0,"observed_timestamp":"1970-01-01T00:00:00.000000000Z","resource":{"attributes":{"resource.attr.foo":"resource.attr.foo.value"},"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"severity_number":0}`), + body: func() pcommon.Value { + vs := pcommon.NewValueSlice() + s := vs.Slice() + s.AppendEmpty().SetStr("foo") + s.AppendEmpty().SetBool(false) + s.AppendEmpty().SetEmptyMap().PutStr("foo", "bar") + return vs + }(), + isEvent: true, + wantDocument: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","attributes":{"attr.foo":"attr.foo.value","event.name":"foo"},"data_stream":{"dataset":"attr.dataset.otel","namespace":"resource.attribute.namespace","type":"logs"},"dropped_attributes_count":0,"observed_timestamp":"1970-01-01T00:00:00.000000000Z","resource":{"attributes":{"resource.attr.foo":"resource.attr.foo.value"},"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"severity_number":0,"body":{"structured":{"value":["foo",false,{"foo":"bar"}]}}}`), }, + } { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + return itemsAllOK(docs) + }) + + exporter := newTestLogsExporter(t, server.URL, func(cfg *Config) { + cfg.LogsDynamicIndex.Enabled = true + cfg.Mapping.Mode = "otel" + }) + recordAttrs := map[string]any{ + "data_stream.dataset": "attr.dataset", + "attr.foo": "attr.foo.value", + } + if tc.isEvent { + recordAttrs["event.name"] = "foo" + } + logs := newLogsWithAttributes( + recordAttrs, + nil, + map[string]any{ + "data_stream.dataset": "resource.attribute.dataset", + "data_stream.namespace": "resource.attribute.namespace", + "resource.attr.foo": "resource.attr.foo.value", + }, + ) + tc.body.CopyTo(logs.ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0).Body()) + mustSendLogs(t, exporter, logs) + rec.WaitItems(1) + + expected := []itemRequest{ + { + Action: []byte(`{"create":{"_index":"logs-attr.dataset.otel-resource.attribute.namespace"}}`), + Document: tc.wantDocument, + }, + } + + assertItemsEqual(t, expected, rec.Items(), false) } - assertItemsEqual(t, expected, rec.Items(), false) }) t.Run("retry http request", func(t *testing.T) { @@ -348,14 +540,10 @@ func TestExporterLogs(t *testing.T) { t.Run("no retry", func(t *testing.T) { configurations := map[string]func(*Config){ - "max_requests limited": func(cfg *Config) { - cfg.Retry.MaxRequests = 1 - cfg.Retry.InitialInterval = 1 * time.Millisecond - cfg.Retry.MaxInterval = 10 * time.Millisecond - }, "retry.enabled is false": func(cfg *Config) { cfg.Retry.Enabled = false - cfg.Retry.MaxRequests = 10 + cfg.Retry.RetryOnStatus = []int{429} + cfg.Retry.MaxRetries = 10 cfg.Retry.InitialInterval = 1 * time.Millisecond cfg.Retry.MaxInterval = 10 * time.Millisecond }, @@ -365,7 +553,7 @@ func TestExporterLogs(t *testing.T) { "fail http request": func(attempts *atomic.Int64) bulkHandler { return func([]itemRequest) ([]itemResponse, error) { attempts.Add(1) - return nil, &httpTestError{message: "oops"} + return nil, &httpTestError{message: "oops", status: 429} } }, "fail item": func(attempts *atomic.Int64) bulkHandler { @@ -518,9 +706,38 @@ func TestExporterLogs(t *testing.T) { assert.Len(t, rec.Items(), 1) doc := rec.Items()[0].Document - assert.Equal(t, `{"some.record.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `attributes`).Raw) - assert.Equal(t, `{"some.scope.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `scope.attributes`).Raw) - assert.Equal(t, `{"some.resource.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `resource.attributes`).Raw) + assert.JSONEq(t, `{"some.record.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `attributes`).Raw) + assert.JSONEq(t, `{"some.scope.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `scope.attributes`).Raw) + assert.JSONEq(t, `{"some.resource.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `resource.attributes`).Raw) + }) + + t.Run("otel mode attribute key prefix conflict", func(t *testing.T) { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + return itemsAllOK(docs) + }) + + exporter := newTestLogsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "otel" + }) + + mustSendLogs(t, exporter, newLogsWithAttributes(map[string]any{ + "a": "a", + "a.b": "a.b", + }, map[string]any{ + "a": "a", + "a.b": "a.b", + }, map[string]any{ + "a": "a", + "a.b": "a.b", + })) + + rec.WaitItems(1) + doc := rec.Items()[0].Document + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `attributes`).Raw) + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `scope.attributes`).Raw) + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `resource.attributes`).Raw) }) } @@ -581,7 +798,7 @@ func TestExporterMetrics(t *testing.T) { server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { rec.Record(docs) - expected := "metrics-resource.dataset-data.point.namespace" + expected := "metrics-resource.dataset.____________-data.point.namespace.-____________" assert.Equal(t, expected, actionJSONToIndex(t, docs[0].Action)) return itemsAllOK(docs) @@ -593,11 +810,11 @@ func TestExporterMetrics(t *testing.T) { }) metrics := newMetricsWithAttributes( map[string]any{ - dataStreamNamespace: "data.point.namespace", + dataStreamNamespace: "data.point.namespace.-\\/*?\"<>| ,#:", }, nil, map[string]any{ - dataStreamDataset: "resource.dataset", + dataStreamDataset: "resource.dataset.\\/*?\"<>| ,#:", dataStreamNamespace: "resource.namespace", }, ) @@ -729,7 +946,9 @@ func TestExporterMetrics(t *testing.T) { metricSlice := scopeA.Metrics() fooMetric := metricSlice.AppendEmpty() fooMetric.SetName("metric.foo") - fooDps := fooMetric.SetEmptyHistogram().DataPoints() + fooHistogram := fooMetric.SetEmptyHistogram() + fooHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityDelta) + fooDps := fooHistogram.DataPoints() fooDp := fooDps.AppendEmpty() fooDp.ExplicitBounds().FromRaw([]float64{1.0, 2.0, 3.0}) fooDp.BucketCounts().FromRaw([]uint64{1, 2, 3, 4}) @@ -773,7 +992,9 @@ func TestExporterMetrics(t *testing.T) { metricSlice := scopeA.Metrics() fooMetric := metricSlice.AppendEmpty() fooMetric.SetName("metric.foo") - fooDps := fooMetric.SetEmptyExponentialHistogram().DataPoints() + fooHistogram := fooMetric.SetEmptyExponentialHistogram() + fooHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityDelta) + fooDps := fooHistogram.DataPoints() fooDp := fooDps.AppendEmpty() fooDp.SetZeroCount(2) fooDp.Positive().SetOffset(1) @@ -796,6 +1017,64 @@ func TestExporterMetrics(t *testing.T) { assertItemsEqual(t, expected, rec.Items(), false) }) + t.Run("publish histogram cumulative temporality", func(t *testing.T) { + server := newESTestServer(t, func(_ []itemRequest) ([]itemResponse, error) { + require.Fail(t, "unexpected request") + return nil, nil + }) + + exporter := newTestMetricsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "ecs" + }) + + metrics := pmetric.NewMetrics() + resourceMetrics := metrics.ResourceMetrics().AppendEmpty() + scopeA := resourceMetrics.ScopeMetrics().AppendEmpty() + metricSlice := scopeA.Metrics() + fooMetric := metricSlice.AppendEmpty() + fooMetric.SetName("metric.foo") + fooHistogram := fooMetric.SetEmptyHistogram() + fooHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) + fooDps := fooHistogram.DataPoints() + fooDp := fooDps.AppendEmpty() + fooDp.ExplicitBounds().FromRaw([]float64{1.0, 2.0, 3.0}) + fooDp.BucketCounts().FromRaw([]uint64{1, 2, 3, 4}) + + err := exporter.ConsumeMetrics(context.Background(), metrics) + assert.NoError(t, err) + }) + + t.Run("publish exponential histogram cumulative temporality", func(t *testing.T) { + server := newESTestServer(t, func(_ []itemRequest) ([]itemResponse, error) { + require.Fail(t, "unexpected request") + return nil, nil + }) + + exporter := newTestMetricsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "ecs" + }) + + metrics := pmetric.NewMetrics() + resourceMetrics := metrics.ResourceMetrics().AppendEmpty() + scopeA := resourceMetrics.ScopeMetrics().AppendEmpty() + metricSlice := scopeA.Metrics() + fooMetric := metricSlice.AppendEmpty() + fooMetric.SetName("metric.foo") + fooHistogram := fooMetric.SetEmptyExponentialHistogram() + fooHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) + fooDps := fooHistogram.DataPoints() + fooDp := fooDps.AppendEmpty() + fooDp.SetZeroCount(2) + fooDp.Positive().SetOffset(1) + fooDp.Positive().BucketCounts().FromRaw([]uint64{0, 1, 1, 0}) + + fooDp.Negative().SetOffset(1) + fooDp.Negative().BucketCounts().FromRaw([]uint64{1, 0, 0, 1}) + + err := exporter.ConsumeMetrics(context.Background(), metrics) + assert.NoError(t, err) + }) + t.Run("publish only valid data points", func(t *testing.T) { rec := newBulkRecorder() server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { @@ -813,7 +1092,9 @@ func TestExporterMetrics(t *testing.T) { metricSlice := scopeA.Metrics() fooMetric := metricSlice.AppendEmpty() fooMetric.SetName("metric.foo") - fooDps := fooMetric.SetEmptyHistogram().DataPoints() + fooHistogram := fooMetric.SetEmptyHistogram() + fooHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityDelta) + fooDps := fooHistogram.DataPoints() fooDp := fooDps.AppendEmpty() fooDp.ExplicitBounds().FromRaw([]float64{1.0, 2.0, 3.0}) fooDp.BucketCounts().FromRaw([]uint64{}) @@ -830,8 +1111,7 @@ func TestExporterMetrics(t *testing.T) { barOtherDp.SetDoubleValue(1.0) err := exporter.ConsumeMetrics(context.Background(), metrics) - require.ErrorContains(t, err, "invalid histogram data point") - require.ErrorContains(t, err, "invalid number data point") + assert.NoError(t, err) rec.WaitItems(2) @@ -866,7 +1146,9 @@ func TestExporterMetrics(t *testing.T) { metricSlice := scopeA.Metrics() fooMetric := metricSlice.AppendEmpty() fooMetric.SetName("metric.foo") - fooDps := fooMetric.SetEmptyHistogram().DataPoints() + fooHistogram := fooMetric.SetEmptyHistogram() + fooHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityDelta) + fooDps := fooHistogram.DataPoints() fooDp := fooDps.AppendEmpty() fooDp.ExplicitBounds().FromRaw([]float64{1.0, 2.0, 3.0}) fooDp.BucketCounts().FromRaw([]uint64{1, 2, 3, 4}) @@ -910,7 +1192,7 @@ func TestExporterMetrics(t *testing.T) { Document: []byte(`{"@timestamp":"1970-01-01T01:00:00.000000000Z","data_stream":{"dataset":"generic.otel","namespace":"default","type":"metrics"},"metrics":{"metric.sum":1.5},"resource":{"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"start_timestamp":"1970-01-01T02:00:00.000000000Z"}`), }, { - Action: []byte(`{"create":{"_index":"metrics-generic.otel-default","dynamic_templates":{"metrics.metric.summary":"summary_metrics"}}}`), + Action: []byte(`{"create":{"_index":"metrics-generic.otel-default","dynamic_templates":{"metrics.metric.summary":"summary"}}}`), Document: []byte(`{"@timestamp":"1970-01-01T03:00:00.000000000Z","data_stream":{"dataset":"generic.otel","namespace":"default","type":"metrics"},"metrics":{"metric.summary":{"sum":1.5,"value_count":1}},"resource":{"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0},"start_timestamp":"1970-01-01T03:00:00.000000000Z"}`), }, } @@ -941,10 +1223,175 @@ func TestExporterMetrics(t *testing.T) { assert.Len(t, rec.Items(), 1) doc := rec.Items()[0].Document - // Workaround TSDB limitation by stringifying array values - assert.Equal(t, `{"some.record.attribute":"[\"foo\",\"bar\"]"}`, gjson.GetBytes(doc, `attributes`).Raw) - assert.Equal(t, `{"some.scope.attribute":"[\"foo\",\"bar\"]"}`, gjson.GetBytes(doc, `scope.attributes`).Raw) - assert.Equal(t, `{"some.resource.attribute":"[\"foo\",\"bar\"]"}`, gjson.GetBytes(doc, `resource.attributes`).Raw) + assert.JSONEq(t, `{"some.record.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `attributes`).Raw) + assert.JSONEq(t, `{"some.scope.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `scope.attributes`).Raw) + assert.JSONEq(t, `{"some.resource.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `resource.attributes`).Raw) + }) + + t.Run("otel mode _doc_count hint", func(t *testing.T) { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + return itemsAllOK(docs) + }) + + exporter := newTestMetricsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "otel" + }) + + metrics := pmetric.NewMetrics() + resourceMetric := metrics.ResourceMetrics().AppendEmpty() + scopeMetric := resourceMetric.ScopeMetrics().AppendEmpty() + + sumMetric := scopeMetric.Metrics().AppendEmpty() + sumMetric.SetName("sum") + sumDP := sumMetric.SetEmptySum().DataPoints().AppendEmpty() + sumDP.SetIntValue(0) + + summaryMetric := scopeMetric.Metrics().AppendEmpty() + summaryMetric.SetName("summary") + summaryDP := summaryMetric.SetEmptySummary().DataPoints().AppendEmpty() + summaryDP.SetSum(1) + summaryDP.SetCount(10) + fillAttributeMap(summaryDP.Attributes(), map[string]any{ + "elasticsearch.mapping.hints": []string{"_doc_count"}, + }) + + mustSendMetrics(t, exporter, metrics) + + rec.WaitItems(1) + expected := []itemRequest{ + { + Action: []byte(`{"create":{"_index":"metrics-generic.otel-default","dynamic_templates":{"metrics.sum":"gauge_long","metrics.summary":"summary"}}}`), + Document: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","_doc_count":10,"data_stream":{"dataset":"generic.otel","namespace":"default","type":"metrics"},"metrics":{"sum":0,"summary":{"sum":1.0,"value_count":10}},"resource":{"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0}}`), + }, + } + + assertItemsEqual(t, expected, rec.Items(), false) + }) + + t.Run("otel mode aggregate_metric_double hint", func(t *testing.T) { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + return itemsAllOK(docs) + }) + + exporter := newTestMetricsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "otel" + }) + + metrics := pmetric.NewMetrics() + resourceMetric := metrics.ResourceMetrics().AppendEmpty() + scopeMetric := resourceMetric.ScopeMetrics().AppendEmpty() + + histogramMetric := scopeMetric.Metrics().AppendEmpty() + histogramMetric.SetName("histogram.summary") + fooHistogram := histogramMetric.SetEmptyHistogram() + fooHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityDelta) + fooDp := fooHistogram.DataPoints().AppendEmpty() + fooDp.SetSum(1) + fooDp.SetCount(10) + fillAttributeMap(fooDp.Attributes(), map[string]any{ + "elasticsearch.mapping.hints": []string{"_doc_count", "aggregate_metric_double"}, + }) + + exphistogramMetric := scopeMetric.Metrics().AppendEmpty() + exphistogramMetric.SetName("exphistogram.summary") + fooExpHistogram := exphistogramMetric.SetEmptyExponentialHistogram() + fooExpHistogram.SetAggregationTemporality(pmetric.AggregationTemporalityDelta) + fooExpDp := fooExpHistogram.DataPoints().AppendEmpty() + fooExpDp.SetTimestamp(pcommon.Timestamp(time.Hour)) + fooExpDp.SetSum(1) + fooExpDp.SetCount(10) + fillAttributeMap(fooExpDp.Attributes(), map[string]any{ + "elasticsearch.mapping.hints": []string{"_doc_count", "aggregate_metric_double"}, + }) + + mustSendMetrics(t, exporter, metrics) + + rec.WaitItems(1) + expected := []itemRequest{ + { + Action: []byte(`{"create":{"_index":"metrics-generic.otel-default","dynamic_templates":{"metrics.histogram.summary":"summary"}}}`), + Document: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","_doc_count":10,"data_stream":{"dataset":"generic.otel","namespace":"default","type":"metrics"},"metrics":{"histogram.summary":{"sum":1.0,"value_count":10}},"resource":{"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0}}`), + }, + { + Action: []byte(`{"create":{"_index":"metrics-generic.otel-default","dynamic_templates":{"metrics.exphistogram.summary":"summary"}}}`), + Document: []byte(`{"@timestamp":"1970-01-01T01:00:00.000000000Z","_doc_count":10,"data_stream":{"dataset":"generic.otel","namespace":"default","type":"metrics"},"metrics":{"exphistogram.summary":{"sum":1.0,"value_count":10}},"resource":{"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0}}`), + }, + } + + assertItemsEqual(t, expected, rec.Items(), false) + }) + + t.Run("otel mode metric name conflict", func(t *testing.T) { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + return itemsAllOK(docs) + }) + + exporter := newTestMetricsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "otel" + }) + + metrics := pmetric.NewMetrics() + resourceMetric := metrics.ResourceMetrics().AppendEmpty() + scopeMetric := resourceMetric.ScopeMetrics().AppendEmpty() + + fooBarMetric := scopeMetric.Metrics().AppendEmpty() + fooBarMetric.SetName("foo.bar") + fooBarMetric.SetEmptySum().DataPoints().AppendEmpty().SetIntValue(0) + + fooMetric := scopeMetric.Metrics().AppendEmpty() + fooMetric.SetName("foo") + fooMetric.SetEmptySum().DataPoints().AppendEmpty().SetIntValue(0) + + fooBarBazMetric := scopeMetric.Metrics().AppendEmpty() + fooBarBazMetric.SetName("foo.bar.baz") + fooBarBazMetric.SetEmptySum().DataPoints().AppendEmpty().SetIntValue(0) + + mustSendMetrics(t, exporter, metrics) + + rec.WaitItems(1) + expected := []itemRequest{ + { + Action: []byte(`{"create":{"_index":"metrics-generic.otel-default","dynamic_templates":{"metrics.foo.bar":"gauge_long","metrics.foo":"gauge_long","metrics.foo.bar.baz":"gauge_long"}}}`), + Document: []byte(`{"@timestamp":"1970-01-01T00:00:00.000000000Z","data_stream":{"dataset":"generic.otel","namespace":"default","type":"metrics"},"metrics":{"foo":0,"foo.bar":0,"foo.bar.baz":0},"resource":{"dropped_attributes_count":0},"scope":{"dropped_attributes_count":0}}`), + }, + } + + assertItemsEqual(t, expected, rec.Items(), false) + }) + + t.Run("otel mode attribute key prefix conflict", func(t *testing.T) { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + return itemsAllOK(docs) + }) + + exporter := newTestMetricsExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "otel" + }) + + mustSendMetrics(t, exporter, newMetricsWithAttributes(map[string]any{ + "a": "a", + "a.b": "a.b", + }, map[string]any{ + "a": "a", + "a.b": "a.b", + }, map[string]any{ + "a": "a", + "a.b": "a.b", + })) + + rec.WaitItems(1) + doc := rec.Items()[0].Document + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `attributes`).Raw) + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `scope.attributes`).Raw) + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `resource.attributes`).Raw) }) t.Run("publish summary", func(t *testing.T) { @@ -1060,7 +1507,7 @@ func TestExporterTraces(t *testing.T) { server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { rec.Record(docs) - expected := "traces-span.dataset-default" + expected := "traces-span.dataset.____________-default" assert.Equal(t, expected, actionJSONToIndex(t, docs[0].Action)) return itemsAllOK(docs) @@ -1072,7 +1519,7 @@ func TestExporterTraces(t *testing.T) { mustSendTraces(t, exporter, newTracesWithAttributes( map[string]any{ - dataStreamDataset: "span.dataset", + dataStreamDataset: "span.dataset.\\/*?\"<>| ,#:", }, nil, map[string]any{ @@ -1242,11 +1689,40 @@ func TestExporterTraces(t *testing.T) { assert.Len(t, rec.Items(), 2) for _, item := range rec.Items() { doc := item.Document - assert.Equal(t, `{"some.record.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `attributes`).Raw) - assert.Equal(t, `{"some.scope.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `scope.attributes`).Raw) - assert.Equal(t, `{"some.resource.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `resource.attributes`).Raw) + assert.JSONEq(t, `{"some.record.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `attributes`).Raw) + assert.JSONEq(t, `{"some.scope.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `scope.attributes`).Raw) + assert.JSONEq(t, `{"some.resource.attribute":["foo","bar"]}`, gjson.GetBytes(doc, `resource.attributes`).Raw) } }) + + t.Run("otel mode attribute key prefix conflict", func(t *testing.T) { + rec := newBulkRecorder() + server := newESTestServer(t, func(docs []itemRequest) ([]itemResponse, error) { + rec.Record(docs) + return itemsAllOK(docs) + }) + + exporter := newTestTracesExporter(t, server.URL, func(cfg *Config) { + cfg.Mapping.Mode = "otel" + }) + + mustSendTraces(t, exporter, newTracesWithAttributes(map[string]any{ + "a": "a", + "a.b": "a.b", + }, map[string]any{ + "a": "a", + "a.b": "a.b", + }, map[string]any{ + "a": "a", + "a.b": "a.b", + })) + + rec.WaitItems(1) + doc := rec.Items()[0].Document + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `attributes`).Raw) + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `scope.attributes`).Raw) + assert.JSONEq(t, `{"a":"a","a.b":"a.b"}`, gjson.GetBytes(doc, `resource.attributes`).Raw) + }) } // TestExporterAuth verifies that the Elasticsearch exporter supports @@ -1323,7 +1799,7 @@ func newTestTracesExporter(t *testing.T, url string, fns ...func(*Config)) expor cfg.NumWorkers = 1 cfg.Flush.Interval = 10 * time.Millisecond }}, fns...)...) - exp, err := f.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := f.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) @@ -1341,7 +1817,7 @@ func newTestMetricsExporter(t *testing.T, url string, fns ...func(*Config)) expo cfg.NumWorkers = 1 cfg.Flush.Interval = 10 * time.Millisecond }}, fns...)...) - exp, err := f.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := f.CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) @@ -1369,7 +1845,7 @@ func newUnstartedTestLogsExporter(t *testing.T, url string, fns ...func(*Config) cfg.NumWorkers = 1 cfg.Flush.Interval = 10 * time.Millisecond }}, fns...)...) - exp, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) return exp } @@ -1437,18 +1913,10 @@ type mockHost struct { extensions map[component.ID]component.Component } -func (h *mockHost) GetFactory(kind component.Kind, typ component.Type) component.Factory { - panic(fmt.Errorf("expected call to GetFactory(%v, %v)", kind, typ)) -} - func (h *mockHost) GetExtensions() map[component.ID]component.Component { return h.extensions } -func (h *mockHost) GetExporters() map[component.DataType]map[component.ID]component.Component { - panic(fmt.Errorf("expected call to GetExporters")) -} - type roundTripperFunc func(*http.Request) (*http.Response, error) func (f roundTripperFunc) RoundTrip(r *http.Request) (*http.Response, error) { diff --git a/exporter/elasticsearchexporter/factory.go b/exporter/elasticsearchexporter/factory.go index af58949c94e7..9cb5da2af966 100644 --- a/exporter/elasticsearchexporter/factory.go +++ b/exporter/elasticsearchexporter/factory.go @@ -7,11 +7,11 @@ package elasticsearchexporter // import "github.com/open-telemetry/opentelemetry import ( "context" - "fmt" "net/http" "time" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/configcompression" "go.opentelemetry.io/collector/config/confighttp" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/exporter" @@ -40,11 +40,12 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { - qs := exporterhelper.NewDefaultQueueSettings() + qs := exporterhelper.NewDefaultQueueConfig() qs.Enabled = false httpClientConfig := confighttp.NewDefaultClientConfig() httpClientConfig.Timeout = 90 * time.Second + httpClientConfig.Compression = configcompression.TypeGzip return &Config{ QueueSettings: qs, @@ -64,7 +65,7 @@ func createDefaultConfig() component.Config { }, Retry: RetrySettings{ Enabled: true, - MaxRequests: 3, + MaxRetries: 0, // default is set in exporter code InitialInterval: 100 * time.Millisecond, MaxInterval: 1 * time.Minute, RetryOnStatus: []int{ @@ -111,14 +112,11 @@ func createLogsExporter( set.Logger.Warn("index option are deprecated and replaced with logs_index and traces_index.") index = cf.Index } - logConfigDeprecationWarnings(cf, set.Logger) + handleDeprecatedConfig(cf, set.Logger) - exporter, err := newExporter(cf, set, index, cf.LogsDynamicIndex.Enabled) - if err != nil { - return nil, fmt.Errorf("cannot configure Elasticsearch exporter: %w", err) - } + exporter := newExporter(cf, set, index, cf.LogsDynamicIndex.Enabled) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, @@ -133,13 +131,11 @@ func createMetricsExporter( cfg component.Config, ) (exporter.Metrics, error) { cf := cfg.(*Config) - logConfigDeprecationWarnings(cf, set.Logger) + handleDeprecatedConfig(cf, set.Logger) - exporter, err := newExporter(cf, set, cf.MetricsIndex, cf.MetricsDynamicIndex.Enabled) - if err != nil { - return nil, fmt.Errorf("cannot configure Elasticsearch exporter: %w", err) - } - return exporterhelper.NewMetricsExporter( + exporter := newExporter(cf, set, cf.MetricsIndex, cf.MetricsDynamicIndex.Enabled) + + return exporterhelper.NewMetrics( ctx, set, cfg, @@ -150,16 +146,14 @@ func createMetricsExporter( func createTracesExporter(ctx context.Context, set exporter.Settings, - cfg component.Config) (exporter.Traces, error) { - + cfg component.Config, +) (exporter.Traces, error) { cf := cfg.(*Config) - logConfigDeprecationWarnings(cf, set.Logger) + handleDeprecatedConfig(cf, set.Logger) - exporter, err := newExporter(cf, set, cf.TracesIndex, cf.TracesDynamicIndex.Enabled) - if err != nil { - return nil, fmt.Errorf("cannot configure Elasticsearch exporter: %w", err) - } - return exporterhelper.NewTracesExporter( + exporter := newExporter(cf, set, cf.TracesIndex, cf.TracesDynamicIndex.Enabled) + + return exporterhelper.NewTraces( ctx, set, cfg, @@ -192,7 +186,7 @@ func exporterhelperOptions( // // We keep timeout_sender enabled in the async mode (Batcher.Enabled == nil), // to ensure sending data to the background workers will not block indefinitely. - opts = append(opts, exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0})) + opts = append(opts, exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0})) } return opts } diff --git a/exporter/elasticsearchexporter/factory_test.go b/exporter/elasticsearchexporter/factory_test.go index a6e2c356d981..e24dca1af5e6 100644 --- a/exporter/elasticsearchexporter/factory_test.go +++ b/exporter/elasticsearchexporter/factory_test.go @@ -22,63 +22,45 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestFactory_CreateLogsExporter(t *testing.T) { +func TestFactory_CreateLogs(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoints = []string{"http://test:9200"} }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateLogs(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.Background())) } -func TestFactory_CreateLogsExporter_Fail(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - params := exportertest.NewNopSettings() - _, err := factory.CreateLogsExporter(context.Background(), params, cfg) - require.Error(t, err, "expected an error when creating a logs exporter") - assert.EqualError(t, err, "cannot configure Elasticsearch exporter: exactly one of [endpoint, endpoints, cloudid] must be specified") -} - -func TestFactory_CreateMetricsExporter(t *testing.T) { +func TestFactory_CreateMetrics(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoints = []string{"http://test:9200"} }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateMetricsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateMetrics(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.Background())) } -func TestFactory_CreateTracesExporter(t *testing.T) { +func TestFactory_CreateTraces(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoints = []string{"http://test:9200"} }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.Background())) } -func TestFactory_CreateTracesExporter_Fail(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - params := exportertest.NewNopSettings() - _, err := factory.CreateTracesExporter(context.Background(), params, cfg) - require.Error(t, err, "expected an error when creating a traces exporter") - assert.EqualError(t, err, "cannot configure Elasticsearch exporter: exactly one of [endpoint, endpoints, cloudid] must be specified") -} - func TestFactory_CreateLogsAndTracesExporterWithDeprecatedIndexOption(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { @@ -86,12 +68,12 @@ func TestFactory_CreateLogsAndTracesExporterWithDeprecatedIndexOption(t *testing cfg.Index = "test_index" }) params := exportertest.NewNopSettings() - logsExporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) + logsExporter, err := factory.CreateLogs(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, logsExporter) require.NoError(t, logsExporter.Shutdown(context.Background())) - tracesExporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + tracesExporter, err := factory.CreateTraces(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, tracesExporter) require.NoError(t, tracesExporter.Shutdown(context.Background())) @@ -110,15 +92,15 @@ func TestFactory_DedupDeprecated(t *testing.T) { set := exportertest.NewNopSettings() set.Logger = zap.New(loggerCore) - logsExporter, err := factory.CreateLogsExporter(context.Background(), set, cfg) + logsExporter, err := factory.CreateLogs(context.Background(), set, cfg) require.NoError(t, err) require.NoError(t, logsExporter.Shutdown(context.Background())) - tracesExporter, err := factory.CreateTracesExporter(context.Background(), set, cfg) + tracesExporter, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NoError(t, tracesExporter.Shutdown(context.Background())) - metricsExporter, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + metricsExporter, err := factory.CreateMetrics(context.Background(), set, cfg) require.NoError(t, err) require.NoError(t, metricsExporter.Shutdown(context.Background())) @@ -148,15 +130,15 @@ func TestFactory_DedotDeprecated(t *testing.T) { for _, cfg := range []*Config{cfgNoDedotECS, cfgDedotRaw} { factory := NewFactory() - logsExporter, err := factory.CreateLogsExporter(context.Background(), set, cfg) + logsExporter, err := factory.CreateLogs(context.Background(), set, cfg) require.NoError(t, err) require.NoError(t, logsExporter.Shutdown(context.Background())) - tracesExporter, err := factory.CreateTracesExporter(context.Background(), set, cfg) + tracesExporter, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NoError(t, tracesExporter.Shutdown(context.Background())) - metricsExporter, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + metricsExporter, err := factory.CreateMetrics(context.Background(), set, cfg) require.NoError(t, err) require.NoError(t, metricsExporter.Shutdown(context.Background())) } diff --git a/exporter/elasticsearchexporter/generated_component_test.go b/exporter/elasticsearchexporter/generated_component_test.go index deac0d2dd56f..3b1f57751b83 100644 --- a/exporter/elasticsearchexporter/generated_component_test.go +++ b/exporter/elasticsearchexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/elasticsearchexporter/go.mod b/exporter/elasticsearchexporter/go.mod index 1c7d57297875..8397ee039be0 100644 --- a/exporter/elasticsearchexporter/go.mod +++ b/exporter/elasticsearchexporter/go.mod @@ -7,30 +7,31 @@ require ( github.com/elastic/go-docappender/v2 v2.3.0 github.com/elastic/go-elasticsearch/v7 v7.17.10 github.com/elastic/go-structform v0.0.12 + github.com/json-iterator/go v1.1.12 + github.com/klauspost/compress v1.17.11 github.com/lestrrat-go/strftime v1.1.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - github.com/tidwall/gjson v1.17.3 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + github.com/tidwall/gjson v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configauth v0.112.0 + go.opentelemetry.io/collector/config/configcompression v1.18.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( github.com/armon/go-radix v1.0.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/elastic/elastic-transport-go/v8 v8.6.0 // indirect github.com/elastic/go-elasticsearch/v8 v8.14.0 // indirect @@ -40,14 +41,11 @@ require ( github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -55,12 +53,9 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/tidwall/match v1.1.1 // indirect @@ -68,36 +63,35 @@ require ( go.elastic.co/apm/module/apmzap/v2 v2.6.0 // indirect go.elastic.co/apm/v2 v2.6.0 // indirect go.elastic.co/fastjson v1.3.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect + golang.org/x/net v0.30.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect howett.net/plist v1.0.0 // indirect ) diff --git a/exporter/elasticsearchexporter/go.sum b/exporter/elasticsearchexporter/go.sum index 6fa46213d430..a482e8b0d57c 100644 --- a/exporter/elasticsearchexporter/go.sum +++ b/exporter/elasticsearchexporter/go.sum @@ -1,11 +1,7 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -33,8 +29,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -44,8 +40,6 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 h1:rp+c0RAYOWj8l6qbCUTSiRLG/iKnW3K3/QfPPuSsBt4= github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak= @@ -53,8 +47,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -68,8 +62,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is= github.com/lestrrat-go/strftime v1.1.0 h1:gMESpZy44/4pXLO/m+sL0yBd1W6LjgjrrD4a68Gapyg= @@ -83,24 +75,18 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -108,8 +94,8 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tidwall/gjson v1.17.3 h1:bwWLZU7icoKRG+C+0PNwIKC6FCJO/Q3p2pZvuP0jN94= -github.com/tidwall/gjson v1.17.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= +github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= @@ -126,74 +112,74 @@ go.elastic.co/apm/v2 v2.6.0 h1:VieBMLQFtXua2YxpYxaSdYGnmmxhLT46gosI5yErJgY= go.elastic.co/apm/v2 v2.6.0/go.mod h1:33rOXgtHwbgZcDgi6I/GtCSMZQqgxkHC0IQT3gudKvo= go.elastic.co/fastjson v1.3.0 h1:hJO3OsYIhiqiT4Fgu0ZxAECnKASbwgiS+LMW5oCopKs= go.elastic.co/fastjson v1.3.0/go.mod h1:K9vDh7O0ODsVKV2B5e2XYLY277QZaCbB3tS1SnARvko= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -209,8 +195,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -222,12 +208,12 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -238,10 +224,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/exporter/elasticsearchexporter/integrationtest/datareceiver.go b/exporter/elasticsearchexporter/integrationtest/datareceiver.go index e79f58a18f09..79a2d46dc3d4 100644 --- a/exporter/elasticsearchexporter/integrationtest/datareceiver.go +++ b/exporter/elasticsearchexporter/integrationtest/datareceiver.go @@ -97,11 +97,11 @@ func (es *esDataReceiver) Start(tc consumer.Traces, _ consumer.Metrics, lc consu set := receivertest.NewNopSettings() // Use an actual logger to log errors. set.Logger = zap.Must(zap.NewDevelopment()) - logsReceiver, err := factory.CreateLogsReceiver(context.Background(), set, cfg, lc) + logsReceiver, err := factory.CreateLogs(context.Background(), set, cfg, lc) if err != nil { return fmt.Errorf("failed to create logs receiver: %w", err) } - tracesReceiver, err := factory.CreateTracesReceiver(context.Background(), set, cfg, tc) + tracesReceiver, err := factory.CreateTraces(context.Background(), set, cfg, tc) if err != nil { return fmt.Errorf("failed to create traces receiver: %w", err) } diff --git a/exporter/elasticsearchexporter/integrationtest/exporter_bench_test.go b/exporter/elasticsearchexporter/integrationtest/exporter_bench_test.go index 18f98c1911f8..50ed649dca0d 100644 --- a/exporter/elasticsearchexporter/integrationtest/exporter_bench_test.go +++ b/exporter/elasticsearchexporter/integrationtest/exporter_bench_test.go @@ -57,7 +57,7 @@ func benchmarkLogs(b *testing.B, batchSize int, mappingMode string) { exporterSettings := exportertest.NewNopSettings() exporterSettings.TelemetrySettings.Logger = zaptest.NewLogger(b, zaptest.Level(zap.WarnLevel)) runnerCfg := prepareBenchmark(b, batchSize, mappingMode) - exporter, err := runnerCfg.factory.CreateLogsExporter( + exporter, err := runnerCfg.factory.CreateLogs( ctx, exporterSettings, runnerCfg.esCfg, ) require.NoError(b, err) @@ -86,7 +86,7 @@ func benchmarkTraces(b *testing.B, batchSize int, mappingMode string) { exporterSettings := exportertest.NewNopSettings() exporterSettings.TelemetrySettings.Logger = zaptest.NewLogger(b, zaptest.Level(zap.WarnLevel)) runnerCfg := prepareBenchmark(b, batchSize, mappingMode) - exporter, err := runnerCfg.factory.CreateTracesExporter( + exporter, err := runnerCfg.factory.CreateTraces( ctx, exporterSettings, runnerCfg.esCfg, ) require.NoError(b, err) diff --git a/exporter/elasticsearchexporter/integrationtest/go.mod b/exporter/elasticsearchexporter/integrationtest/go.mod index 894754b12dfb..1a6403489596 100644 --- a/exporter/elasticsearchexporter/integrationtest/go.mod +++ b/exporter/elasticsearchexporter/integrationtest/go.mod @@ -5,43 +5,47 @@ go 1.22.0 require ( github.com/elastic/go-docappender/v2 v2.3.0 github.com/gorilla/mux v1.8.1 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.108.0 - github.com/shirou/gopsutil/v4 v4.24.8 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/testbed v0.112.0 + github.com/shirou/gopsutil/v4 v4.24.9 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/otelcol v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/processor v0.112.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 go.uber.org/zap v1.27.0 golang.org/x/sync v0.8.0 ) require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/apache/thrift v0.20.0 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/elastic/elastic-transport-go/v8 v8.6.0 // indirect github.com/elastic/go-elasticsearch/v7 v7.17.10 // indirect - github.com/elastic/go-elasticsearch/v8 v8.14.0 // indirect + github.com/elastic/go-elasticsearch/v8 v8.15.0 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/go-structform v0.0.12 // indirect github.com/elastic/go-sysinfo v1.14.0 // indirect @@ -53,7 +57,7 @@ require ( github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.3.0 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/googleapis v1.4.1 // indirect @@ -68,15 +72,15 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jaegertracing/jaeger v1.60.0 // indirect + github.com/jaegertracing/jaeger v1.62.0 // indirect github.com/jonboulle/clockwork v0.4.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/leodido/go-syslog/v4 v4.1.0 // indirect + github.com/leodido/go-syslog/v4 v4.2.0 // indirect github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b // indirect github.com/lestrrat-go/strftime v1.1.0 // indirect github.com/lightstep/go-expohisto v1.0.0 // indirect @@ -88,35 +92,34 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/syslogexporter v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.112.0 // indirect github.com/openzipkin/zipkin-go v0.4.3 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect - github.com/shoenig/test v1.7.1 // indirect github.com/soheilhy/cmux v0.1.5 // indirect github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect @@ -132,72 +135,78 @@ require ( go.elastic.co/fastjson v1.3.0 // indirect go.etcd.io/bbolt v1.3.11 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/contrib/zpages v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.112.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/connector v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/otlphttpexporter v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/internal/memorylimiter v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 // indirect + go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/contrib/zpages v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect howett.net/plist v1.0.1 // indirect diff --git a/exporter/elasticsearchexporter/integrationtest/go.sum b/exporter/elasticsearchexporter/integrationtest/go.sum index 33f8956070ed..d02f11f59562 100644 --- a/exporter/elasticsearchexporter/integrationtest/go.sum +++ b/exporter/elasticsearchexporter/integrationtest/go.sum @@ -8,8 +8,12 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -28,14 +32,16 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA= github.com/elastic/elastic-transport-go/v8 v8.6.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= github.com/elastic/go-docappender/v2 v2.3.0 h1:Vr+l36jM+sE/LHp0JFxSIbHlWTSk8CpBblYWZZ/I1KA= github.com/elastic/go-docappender/v2 v2.3.0/go.mod h1:VNWgXUE9HX1G6W6ON8dOs/KdH8aCxXir/fxxcfrnov4= github.com/elastic/go-elasticsearch/v7 v7.17.10 h1:TCQ8i4PmIJuBunvBS6bwT2ybzVFxxUhhltAs3Gyu1yo= github.com/elastic/go-elasticsearch/v7 v7.17.10/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= -github.com/elastic/go-elasticsearch/v8 v8.14.0 h1:1ywU8WFReLLcxE1WJqii3hTtbPUE2hc38ZK/j4mMFow= -github.com/elastic/go-elasticsearch/v8 v8.14.0/go.mod h1:WRvnlGkSuZyp83M2U8El/LGXpCjYLrvlkSgkAH4O5I4= +github.com/elastic/go-elasticsearch/v8 v8.15.0 h1:IZyJhe7t7WI3NEFdcHnf6IJXqpRf+8S8QWLtZYYyBYk= +github.com/elastic/go-elasticsearch/v8 v8.15.0/go.mod h1:HCON3zj4btpqs2N1jjsAy4a/fiAul+YBP00mBH4xik8= github.com/elastic/go-grok v0.3.1 h1:WEhUxe2KrwycMnlvMimJXvzRa7DoByJB4PVUIE1ZD/U= github.com/elastic/go-grok v0.3.1/go.mod h1:n38ls8ZgOboZRgKcjMY8eFeZFMmcL9n2lP0iHhIDk64= github.com/elastic/go-structform v0.0.12 h1:HXpzlAKyej8T7LobqKDThUw7BMhwV6Db24VwxNtgxCs= @@ -64,8 +70,8 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= @@ -127,8 +133,8 @@ github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSAS github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= @@ -138,8 +144,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -152,8 +158,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= +github.com/leodido/go-syslog/v4 v4.2.0 h1:A7vpbYxsO4e2E8udaurkLlxP5LDpDbmPMsGnuhb7jVk= +github.com/leodido/go-syslog/v4 v4.2.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= @@ -187,6 +193,8 @@ github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7s github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -195,17 +203,17 @@ 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/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/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -213,12 +221,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -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/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= @@ -247,8 +251,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tidwall/gjson v1.17.3 h1:bwWLZU7icoKRG+C+0PNwIKC6FCJO/Q3p2pZvuP0jN94= -github.com/tidwall/gjson v1.17.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= +github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= @@ -263,6 +267,7 @@ github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXV github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.elastic.co/apm/module/apmelasticsearch/v2 v2.6.0 h1:ukMcwyMaDXsS1dRK2qRYXT2AsfwaUy74TOOYCqkWJow= @@ -279,144 +284,158 @@ go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:q8LQW1V9uUbZFzDKD0JTH92H6VRIaFcx2y/ooT44WyA= -go.opentelemetry.io/collector/exporter/debugexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:8CPsp2ek4qlcnaJEM3g/YQ6/2kNIwqDwO/wOmAgYvO0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:krcA76OOIBEN1IcRieojMCH6EwKvTBWFPixGqHBpToQ= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:jc+4XrGLQ7Ce50A8m4l3JASBmH2pW7fgpKGn+SD1VjU= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:Gl+/0SxpML4ANDnWbeSSlcsMa1B7u/XPrR6zhas4JwI= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:cnccoz0R7TTSuWY61BPOJl0J7Th3yVZgEFPFUJ86a8M= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331 h1:+5741SgE52SkqN4t2p8jYTvHzXwmioQFfn1A53qORtw= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:de4qi9Sr0cWsZapO3BzVPOzSPorBIGp9ZTfE0Y2+sto= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:DSgsLqj0L0m7rQdzWsC/fvE4qvzJSggqmaur0wGucZ4= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:CSvxn55s4JFEEJ0UoYoXbj8XoBFl7Oj26bAE9kAcNTE= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:FgbrQxhUTqcizMI+3s91kPONM1WX+JOFCL9ghzWKe2c= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2VxvUC07PujwiYY1KjJjgEFJ0kiY2pAs+slZbtct2t8= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331 h1:MMCQJrhmZU1QEzWWodPgsHg/hJ+fXwTb9jc4nYTP6aY= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0U6x1xcDuvHEgoH/2TzEmbsG47VwpK2FPD0L93DTxFQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.112.0 h1:nd4I3Ly9gks81CMJBvYE9Eq+LFcgdS4/VV5ETfvEGow= +go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.112.0/go.mod h1:6dRj7VdWLqC6bYtrw4h6MuOXhTnKPz06XY751QoyrZ4= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0 h1:Suz/1SdAyeY+UPKJDt9RuWGxUOu8p2P6bhuon00VhGU= +go.opentelemetry.io/collector/exporter/debugexporter v0.112.0/go.mod h1:DVhlqmbajKH3JjJuW727d7FUkkLhyY/QcaL1xn9NREk= +go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.112.0 h1:D0JOeQmRlQ8IPjMayRsgNhY+SlT0lxLhbntE6nnyPOU= +go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.112.0/go.mod h1:DD4i0zSXX3IQM+KmFS4sTwapJTe9uGvQ1vSfknrX3CM= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0 h1:iege9KqmB4mk5bvsqX4T1jk5gB+WhZi1RZnnFkqMn78= +go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0/go.mod h1:hW2jkbwo633j5ENeJfYqCofKAQa42tcy6HHGSrwcYVw= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.112.0 h1:R3hxe10sKNTqYjTplsWfbeOl8neMsOtahvzQO+uE8LM= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.112.0/go.mod h1:oWETqjs84ppD4mhqeGQSKFoujDCbde8ftdTVBBQhWfY= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0 h1:u1hUa48x1qEONUSOtz8dx/c8oz74RpIHyWnGFJ7t0CE= +go.opentelemetry.io/collector/internal/memorylimiter v0.112.0/go.mod h1:BtHruDt40QTW8klZVQCqsVfhVsOkh6hDg5w1cPvLpeU= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 h1:Dq/RpdClawI8HrnSi177LziPjfHo733BWOCgRTbWrfY= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0/go.mod h1:QLQ31rGjPuMc/nGw4rL4HzQI9F0jVAPEmC342chxoqA= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0 h1:+V+4OUcg1s3CrZpttT4dA+Uuv7VWpOIPQpOkcsrMBIo= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.112.0/go.mod h1:f/eEZ3JMbRNLsRzNwATtTjuulDrLvhYMvXinLrmHtTU= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0 h1:3Kd8zHKqytBpSvPo0cGi0iCfe5zTMpUgnsNsK9shDMg= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.112.0/go.mod h1:1KqtFWaQ6duvMqk6mCdRPqySXPBr9Ubr0EW9lEr/9A4= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -428,6 +447,7 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -436,6 +456,7 @@ golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvx golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -446,14 +467,18 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -462,14 +487,24 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -478,6 +513,7 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -489,17 +525,17 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -509,8 +545,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/elasticsearchexporter/internal/objmodel/objmodel.go b/exporter/elasticsearchexporter/internal/objmodel/objmodel.go index f20f9b1d213b..33a63abc794d 100644 --- a/exporter/elasticsearchexporter/internal/objmodel/objmodel.go +++ b/exporter/elasticsearchexporter/internal/objmodel/objmodel.go @@ -209,12 +209,12 @@ func (doc *Document) sort() { // The filtering only keeps the last value for a key. // // Dedup ensure that keys are sorted. -func (doc *Document) Dedup() { +func (doc *Document) Dedup(appendValueOnConflict bool) { // 1. Always ensure the fields are sorted, Dedup support requires // Fields to be sorted. doc.sort() - // 2. rename fields if a primitive value is overwritten by an object. + // 2. rename fields if a primitive value is overwritten by an object if appendValueOnConflict. // For example the pair (path.x=1, path.x.a="test") becomes: // (path.x.value=1, path.x.a="test"). // @@ -227,16 +227,18 @@ func (doc *Document) Dedup() { // field in favor of the `value` field in the document. // // This step removes potential conflicts when dedotting and serializing fields. - var renamed bool - for i := 0; i < len(doc.fields)-1; i++ { - key, nextKey := doc.fields[i].key, doc.fields[i+1].key - if len(key) < len(nextKey) && strings.HasPrefix(nextKey, key) && nextKey[len(key)] == '.' { - renamed = true - doc.fields[i].key = key + ".value" + if appendValueOnConflict { + var renamed bool + for i := 0; i < len(doc.fields)-1; i++ { + key, nextKey := doc.fields[i].key, doc.fields[i+1].key + if len(key) < len(nextKey) && strings.HasPrefix(nextKey, key) && nextKey[len(key)] == '.' { + renamed = true + doc.fields[i].key = key + ".value" + } + } + if renamed { + doc.sort() } - } - if renamed { - doc.sort() } // 3. mark duplicates as 'ignore' @@ -251,7 +253,7 @@ func (doc *Document) Dedup() { // 4. fix objects that might be stored in arrays for i := range doc.fields { - doc.fields[i].value.Dedup() + doc.fields[i].value.Dedup(appendValueOnConflict) } } @@ -487,13 +489,13 @@ func (v *Value) sort() { // Dedup recursively dedups keys in stored documents. // // NOTE: The value MUST be sorted. -func (v *Value) Dedup() { +func (v *Value) Dedup(appendValueOnConflict bool) { switch v.kind { case KindObject: - v.doc.Dedup() + v.doc.Dedup(appendValueOnConflict) case KindArr: for i := range v.arr { - v.arr[i].Dedup() + v.arr[i].Dedup(appendValueOnConflict) } } } diff --git a/exporter/elasticsearchexporter/internal/objmodel/objmodel_test.go b/exporter/elasticsearchexporter/internal/objmodel/objmodel_test.go index 1961f716db05..3d0a07b820d0 100644 --- a/exporter/elasticsearchexporter/internal/objmodel/objmodel_test.go +++ b/exporter/elasticsearchexporter/internal/objmodel/objmodel_test.go @@ -86,8 +86,9 @@ func TestObjectModel_CreateMap(t *testing.T) { func TestObjectModel_Dedup(t *testing.T) { tests := map[string]struct { - build func() Document - want Document + build func() Document + appendValueOnConflict bool + want Document }{ "no duplicates": { build: func() (doc Document) { @@ -95,7 +96,8 @@ func TestObjectModel_Dedup(t *testing.T) { doc.AddInt("c", 3) return doc }, - want: Document{fields: []field{{"a", IntValue(1)}, {"c", IntValue(3)}}}, + appendValueOnConflict: true, + want: Document{fields: []field{{"a", IntValue(1)}, {"c", IntValue(3)}}}, }, "duplicate keys": { build: func() (doc Document) { @@ -104,7 +106,8 @@ func TestObjectModel_Dedup(t *testing.T) { doc.AddInt("a", 2) return doc }, - want: Document{fields: []field{{"a", ignoreValue}, {"a", IntValue(2)}, {"c", IntValue(3)}}}, + appendValueOnConflict: true, + want: Document{fields: []field{{"a", ignoreValue}, {"a", IntValue(2)}, {"c", IntValue(3)}}}, }, "duplicate after flattening from map: namespace object at end": { build: func() Document { @@ -114,7 +117,8 @@ func TestObjectModel_Dedup(t *testing.T) { am.PutEmptyMap("namespace").PutInt("a", 23) return DocumentFromAttributes(am) }, - want: Document{fields: []field{{"namespace.a", ignoreValue}, {"namespace.a", IntValue(23)}, {"toplevel", StringValue("test")}}}, + appendValueOnConflict: true, + want: Document{fields: []field{{"namespace.a", ignoreValue}, {"namespace.a", IntValue(23)}, {"toplevel", StringValue("test")}}}, }, "duplicate after flattening from map: namespace object at beginning": { build: func() Document { @@ -124,7 +128,8 @@ func TestObjectModel_Dedup(t *testing.T) { am.PutStr("toplevel", "test") return DocumentFromAttributes(am) }, - want: Document{fields: []field{{"namespace.a", ignoreValue}, {"namespace.a", IntValue(42)}, {"toplevel", StringValue("test")}}}, + appendValueOnConflict: true, + want: Document{fields: []field{{"namespace.a", ignoreValue}, {"namespace.a", IntValue(42)}, {"toplevel", StringValue("test")}}}, }, "dedup in arrays": { build: func() (doc Document) { @@ -136,6 +141,7 @@ func TestObjectModel_Dedup(t *testing.T) { doc.Add("arr", ArrValue(Value{kind: KindObject, doc: embedded})) return doc }, + appendValueOnConflict: true, want: Document{fields: []field{{"arr", ArrValue(Value{kind: KindObject, doc: Document{fields: []field{ {"a", ignoreValue}, {"a", IntValue(2)}, @@ -148,7 +154,8 @@ func TestObjectModel_Dedup(t *testing.T) { doc.AddInt("namespace.a", 2) return doc }, - want: Document{fields: []field{{"namespace.a", IntValue(2)}, {"namespace.value", IntValue(1)}}}, + appendValueOnConflict: true, + want: Document{fields: []field{{"namespace.a", IntValue(2)}, {"namespace.value", IntValue(1)}}}, }, "dedup removes primitive if value exists": { build: func() (doc Document) { @@ -157,14 +164,25 @@ func TestObjectModel_Dedup(t *testing.T) { doc.AddInt("namespace.value", 3) return doc }, - want: Document{fields: []field{{"namespace.a", IntValue(2)}, {"namespace.value", ignoreValue}, {"namespace.value", IntValue(3)}}}, + appendValueOnConflict: true, + want: Document{fields: []field{{"namespace.a", IntValue(2)}, {"namespace.value", ignoreValue}, {"namespace.value", IntValue(3)}}}, + }, + "dedup without append value on conflict": { + build: func() (doc Document) { + doc.AddInt("namespace", 1) + doc.AddInt("namespace.a", 2) + doc.AddInt("namespace.value", 3) + return doc + }, + appendValueOnConflict: false, + want: Document{fields: []field{{"namespace", IntValue(1)}, {"namespace.a", IntValue(2)}, {"namespace.value", IntValue(3)}}}, }, } for name, test := range tests { t.Run(name, func(t *testing.T) { doc := test.build() - doc.Dedup() + doc.Dedup(test.appendValueOnConflict) assert.Equal(t, test.want, doc) }) } @@ -282,7 +300,7 @@ func TestDocument_Serialize_Flat(t *testing.T) { m := pcommon.NewMap() assert.NoError(t, m.FromRaw(test.attrs)) doc := DocumentFromAttributes(m) - doc.Dedup() + doc.Dedup(true) err := doc.Serialize(&buf, false, false) require.NoError(t, err) @@ -343,7 +361,7 @@ func TestDocument_Serialize_Dedot(t *testing.T) { m := pcommon.NewMap() assert.NoError(t, m.FromRaw(test.attrs)) doc := DocumentFromAttributes(m) - doc.Dedup() + doc.Dedup(true) err := doc.Serialize(&buf, true, false) require.NoError(t, err) diff --git a/exporter/elasticsearchexporter/mapping_hint.go b/exporter/elasticsearchexporter/mapping_hint.go new file mode 100644 index 000000000000..5362335c7b35 --- /dev/null +++ b/exporter/elasticsearchexporter/mapping_hint.go @@ -0,0 +1,42 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package elasticsearchexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter" + +import ( + "slices" + + "go.opentelemetry.io/collector/pdata/pcommon" +) + +const ( + mappingHintsAttrKey = "elasticsearch.mapping.hints" +) + +type mappingHint string + +const ( + hintAggregateMetricDouble mappingHint = "aggregate_metric_double" + hintDocCount mappingHint = "_doc_count" +) + +type mappingHintGetter struct { + hints []mappingHint +} + +func newMappingHintGetter(attr pcommon.Map) (g mappingHintGetter) { + v, ok := attr.Get(mappingHintsAttrKey) + if !ok || v.Type() != pcommon.ValueTypeSlice { + return + } + slice := v.Slice() + g.hints = slices.Grow(g.hints, slice.Len()) + for i := 0; i < slice.Len(); i++ { + g.hints = append(g.hints, mappingHint(slice.At(i).Str())) + } + return +} + +func (g mappingHintGetter) HasMappingHint(hint mappingHint) bool { + return slices.Contains(g.hints, hint) +} diff --git a/exporter/elasticsearchexporter/mapping_hint_test.go b/exporter/elasticsearchexporter/mapping_hint_test.go new file mode 100644 index 000000000000..00ff4f9b3117 --- /dev/null +++ b/exporter/elasticsearchexporter/mapping_hint_test.go @@ -0,0 +1,88 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package elasticsearchexporter + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "go.opentelemetry.io/collector/pdata/pcommon" +) + +func TestHasHint(t *testing.T) { + tests := []struct { + name string + attrsFunc func() pcommon.Map + hint mappingHint + want bool + }{ + { + name: "empty map", + attrsFunc: pcommon.NewMap, + hint: hintAggregateMetricDouble, + want: false, + }, + { + name: "bad type", + attrsFunc: func() pcommon.Map { + m := pcommon.NewMap() + m.PutBool(mappingHintsAttrKey, true) + return m + }, + hint: hintAggregateMetricDouble, + want: false, + }, + { + name: "bad inner type", + attrsFunc: func() pcommon.Map { + m := pcommon.NewMap() + s := m.PutEmptySlice(mappingHintsAttrKey) + s.AppendEmpty().SetBool(true) + return m + }, + hint: hintAggregateMetricDouble, + want: false, + }, + { + name: "hit", + attrsFunc: func() pcommon.Map { + m := pcommon.NewMap() + s := m.PutEmptySlice(mappingHintsAttrKey) + s.AppendEmpty().SetStr(string(hintAggregateMetricDouble)) + return m + }, + hint: hintAggregateMetricDouble, + want: true, + }, + { + name: "hit 2nd", + attrsFunc: func() pcommon.Map { + m := pcommon.NewMap() + s := m.PutEmptySlice(mappingHintsAttrKey) + s.AppendEmpty().SetStr(string(hintDocCount)) + s.AppendEmpty().SetStr(string(hintAggregateMetricDouble)) + return m + }, + hint: hintAggregateMetricDouble, + want: true, + }, + { + name: "miss", + attrsFunc: func() pcommon.Map { + m := pcommon.NewMap() + s := m.PutEmptySlice(mappingHintsAttrKey) + s.AppendEmpty().SetStr(string(hintDocCount)) + return m + }, + hint: hintAggregateMetricDouble, + want: false, + }, + } + for _, tt := range tests { + tt := tt + t.Run(tt.name, func(t *testing.T) { + assert.Equal(t, tt.want, newMappingHintGetter(tt.attrsFunc()).HasMappingHint(tt.hint)) + }) + } +} diff --git a/exporter/elasticsearchexporter/metadata.yaml b/exporter/elasticsearchexporter/metadata.yaml index 75a9af2b53fb..97b1c0b20349 100644 --- a/exporter/elasticsearchexporter/metadata.yaml +++ b/exporter/elasticsearchexporter/metadata.yaml @@ -7,7 +7,7 @@ status: development: [metrics] distributions: [contrib] codeowners: - active: [JaredTan95, ycombinator, carsonip] + active: [JaredTan95, carsonip, lahsivjar] tests: config: diff --git a/exporter/elasticsearchexporter/model.go b/exporter/elasticsearchexporter/model.go index d5064764bcb2..8c71df950752 100644 --- a/exporter/elasticsearchexporter/model.go +++ b/exporter/elasticsearchexporter/model.go @@ -12,8 +12,10 @@ import ( "hash" "hash/fnv" "math" + "slices" "time" + jsoniter "github.com/json-iterator/go" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" @@ -64,11 +66,13 @@ var resourceAttrsToPreserve = map[string]bool{ semconv.AttributeHostName: true, } +var ErrInvalidTypeForBodyMapMode = errors.New("invalid log record body type for 'bodymap' mapping mode") + type mappingModel interface { encodeLog(pcommon.Resource, string, plog.LogRecord, pcommon.InstrumentationScope, string) ([]byte, error) encodeSpan(pcommon.Resource, string, ptrace.Span, pcommon.InstrumentationScope, string) ([]byte, error) encodeSpanEvent(resource pcommon.Resource, resourceSchemaURL string, span ptrace.Span, spanEvent ptrace.SpanEvent, scope pcommon.InstrumentationScope, scopeSchemaURL string) *objmodel.Document - upsertMetricDataPointValue(map[uint32]objmodel.Document, pcommon.Resource, string, pcommon.InstrumentationScope, string, pmetric.Metric, dataPoint, pcommon.Value) error + upsertMetricDataPointValue(map[uint32]objmodel.Document, pcommon.Resource, string, pcommon.InstrumentationScope, string, pmetric.Metric, dataPoint) error encodeDocument(objmodel.Document) ([]byte, error) } @@ -87,6 +91,10 @@ type dataPoint interface { Timestamp() pcommon.Timestamp StartTimestamp() pcommon.Timestamp Attributes() pcommon.Map + Value() (pcommon.Value, error) + DynamicTemplate(pmetric.Metric) string + DocCount() uint64 + HasMappingHint(mappingHint) bool } const ( @@ -102,10 +110,13 @@ func (m *encodeModel) encodeLog(resource pcommon.Resource, resourceSchemaURL str document = m.encodeLogECSMode(resource, record, scope) case MappingOTel: document = m.encodeLogOTelMode(resource, resourceSchemaURL, record, scope, scopeSchemaURL) + case MappingBodyMap: + return m.encodeLogBodyMapMode(record) default: document = m.encodeLogDefaultMode(resource, record, scope) } - document.Dedup() + // For OTel mode, prefix conflicts are not a problem as otel-data has subobjects: false + document.Dedup(m.mode != MappingOTel) var buf bytes.Buffer err := document.Serialize(&buf, m.dedot, m.mode == MappingOTel) @@ -133,6 +144,15 @@ func (m *encodeModel) encodeLogDefaultMode(resource pcommon.Resource, record plo return document } +func (m *encodeModel) encodeLogBodyMapMode(record plog.LogRecord) ([]byte, error) { + body := record.Body() + if body.Type() != pcommon.ValueTypeMap { + return nil, fmt.Errorf("%w: %q", ErrInvalidTypeForBodyMapMode, body.Type()) + } + + return jsoniter.Marshal(body.Map().AsRaw()) +} + func (m *encodeModel) encodeLogOTelMode(resource pcommon.Resource, resourceSchemaURL string, record plog.LogRecord, scope pcommon.InstrumentationScope, scopeSchemaURL string) objmodel.Document { var document objmodel.Document @@ -150,41 +170,58 @@ func (m *encodeModel) encodeLogOTelMode(resource pcommon.Resource, resourceSchem document.AddInt("severity_number", int64(record.SeverityNumber())) document.AddInt("dropped_attributes_count", int64(record.DroppedAttributesCount())) - m.encodeAttributesOTelMode(&document, record.Attributes(), false) - m.encodeResourceOTelMode(&document, resource, resourceSchemaURL, false) - m.encodeScopeOTelMode(&document, scope, scopeSchemaURL, false) + m.encodeAttributesOTelMode(&document, record.Attributes()) + m.encodeResourceOTelMode(&document, resource, resourceSchemaURL) + m.encodeScopeOTelMode(&document, scope, scopeSchemaURL) // Body - setOTelLogBody(&document, record.Body()) + setOTelLogBody(&document, record.Body(), record.Attributes()) return document } -func setOTelLogBody(doc *objmodel.Document, body pcommon.Value) { +func setOTelLogBody(doc *objmodel.Document, body pcommon.Value, attributes pcommon.Map) { + // Determine if this log record is an event, as they are mapped differently + // https://github.com/open-telemetry/semantic-conventions/blob/main/docs/general/events.md + _, isEvent := attributes.Get("event.name") + switch body.Type() { case pcommon.ValueTypeMap: - doc.AddAttribute("body_structured", body) + if isEvent { + doc.AddAttribute("body.structured", body) + } else { + doc.AddAttribute("body.flattened", body) + } case pcommon.ValueTypeSlice: - slice := body.Slice() - for i := 0; i < slice.Len(); i++ { - switch slice.At(i).Type() { - case pcommon.ValueTypeMap, pcommon.ValueTypeSlice: - doc.AddAttribute("body_structured", body) - return + // output must be an array of objects due to ES limitations + // otherwise, wrap the array in an object + s := body.Slice() + allMaps := true + for i := 0; i < s.Len(); i++ { + if s.At(i).Type() != pcommon.ValueTypeMap { + allMaps = false } } - bodyTextVal := pcommon.NewValueSlice() - bodyTextSlice := bodyTextVal.Slice() - bodyTextSlice.EnsureCapacity(slice.Len()) + var outVal pcommon.Value + if allMaps { + outVal = body + } else { + vm := pcommon.NewValueMap() + m := vm.SetEmptyMap() + body.Slice().CopyTo(m.PutEmptySlice("value")) + outVal = vm + } - for i := 0; i < slice.Len(); i++ { - elem := slice.At(i) - bodyTextSlice.AppendEmpty().SetStr(elem.AsString()) + if isEvent { + doc.AddAttribute("body.structured", outVal) + } else { + doc.AddAttribute("body.flattened", outVal) } - doc.AddAttribute("body_text", bodyTextVal) + case pcommon.ValueTypeStr: + doc.AddString("body.text", body.Str()) default: - doc.AddString("body_text", body.AsString()) + doc.AddString("body.text", body.AsString()) } } @@ -231,7 +268,8 @@ func (m *encodeModel) encodeLogECSMode(resource pcommon.Resource, record plog.Lo } func (m *encodeModel) encodeDocument(document objmodel.Document) ([]byte, error) { - document.Dedup() + // For OTel mode, prefix conflicts are not a problem as otel-data has subobjects: false + document.Dedup(m.mode != MappingOTel) var buf bytes.Buffer err := document.Serialize(&buf, m.dedot, m.mode == MappingOTel) @@ -242,19 +280,24 @@ func (m *encodeModel) encodeDocument(document objmodel.Document) ([]byte, error) } // upsertMetricDataPointValue upserts a datapoint value to documents which is already hashed by resource and index -func (m *encodeModel) upsertMetricDataPointValue(documents map[uint32]objmodel.Document, resource pcommon.Resource, resourceSchemaURL string, scope pcommon.InstrumentationScope, scopeSchemaURL string, metric pmetric.Metric, dp dataPoint, value pcommon.Value) error { +func (m *encodeModel) upsertMetricDataPointValue(documents map[uint32]objmodel.Document, resource pcommon.Resource, resourceSchemaURL string, scope pcommon.InstrumentationScope, scopeSchemaURL string, metric pmetric.Metric, dp dataPoint) error { switch m.mode { case MappingOTel: - return m.upsertMetricDataPointValueOTelMode(documents, resource, resourceSchemaURL, scope, scopeSchemaURL, metric, dp, value) + return m.upsertMetricDataPointValueOTelMode(documents, resource, resourceSchemaURL, scope, scopeSchemaURL, metric, dp) case MappingECS: - return m.upsertMetricDataPointValueECSMode(documents, resource, resourceSchemaURL, scope, scopeSchemaURL, metric, dp, value) + return m.upsertMetricDataPointValueECSMode(documents, resource, resourceSchemaURL, scope, scopeSchemaURL, metric, dp) default: // Defaults to ECS for backward compatibility - return m.upsertMetricDataPointValueECSMode(documents, resource, resourceSchemaURL, scope, scopeSchemaURL, metric, dp, value) + return m.upsertMetricDataPointValueECSMode(documents, resource, resourceSchemaURL, scope, scopeSchemaURL, metric, dp) } } -func (m *encodeModel) upsertMetricDataPointValueECSMode(documents map[uint32]objmodel.Document, resource pcommon.Resource, _ string, _ pcommon.InstrumentationScope, _ string, metric pmetric.Metric, dp dataPoint, value pcommon.Value) error { +func (m *encodeModel) upsertMetricDataPointValueECSMode(documents map[uint32]objmodel.Document, resource pcommon.Resource, _ string, _ pcommon.InstrumentationScope, _ string, metric pmetric.Metric, dp dataPoint) error { + value, err := dp.Value() + if err != nil { + return err + } + hash := metricECSHash(dp.Timestamp(), dp.Attributes()) var ( document objmodel.Document @@ -272,7 +315,12 @@ func (m *encodeModel) upsertMetricDataPointValueECSMode(documents map[uint32]obj return nil } -func (m *encodeModel) upsertMetricDataPointValueOTelMode(documents map[uint32]objmodel.Document, resource pcommon.Resource, resourceSchemaURL string, scope pcommon.InstrumentationScope, scopeSchemaURL string, metric pmetric.Metric, dp dataPoint, value pcommon.Value) error { +func (m *encodeModel) upsertMetricDataPointValueOTelMode(documents map[uint32]objmodel.Document, resource pcommon.Resource, resourceSchemaURL string, scope pcommon.InstrumentationScope, scopeSchemaURL string, metric pmetric.Metric, dp dataPoint) error { + value, err := dp.Value() + if err != nil { + return err + } + // documents is per-resource. Therefore, there is no need to hash resource attributes hash := metricOTelHash(dp, scope.Attributes(), metric.Unit()) var ( @@ -286,9 +334,14 @@ func (m *encodeModel) upsertMetricDataPointValueOTelMode(documents map[uint32]ob } document.AddString("unit", metric.Unit()) - m.encodeAttributesOTelMode(&document, dp.Attributes(), true) - m.encodeResourceOTelMode(&document, resource, resourceSchemaURL, true) - m.encodeScopeOTelMode(&document, scope, scopeSchemaURL, true) + m.encodeAttributesOTelMode(&document, dp.Attributes()) + m.encodeResourceOTelMode(&document, resource, resourceSchemaURL) + m.encodeScopeOTelMode(&document, scope, scopeSchemaURL) + } + + if dp.HasMappingHint(hintDocCount) { + docCount := dp.DocCount() + document.AddInt("_doc_count", int64(docCount)) } switch value.Type() { @@ -302,61 +355,61 @@ func (m *encodeModel) upsertMetricDataPointValueOTelMode(documents map[uint32]ob // TODO: support quantiles // https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/34561 - document.AddDynamicTemplate("metrics."+metric.Name(), metricDpToDynamicTemplate(metric, dp)) + // DynamicTemplate returns the name of dynamic template that applies to the metric and data point, + // so that the field is indexed into Elasticsearch with the correct mapping. The name should correspond to a + // dynamic template that is defined in ES mapping, e.g. + // https://github.com/elastic/elasticsearch/blob/8.15/x-pack/plugin/core/template-resources/src/main/resources/metrics%40mappings.json + document.AddDynamicTemplate("metrics."+metric.Name(), dp.DynamicTemplate(metric)) documents[hash] = document return nil } -// metricDpToDynamicTemplate returns the name of dynamic template that applies to the metric and data point, -// so that the field is indexed into Elasticsearch with the correct mapping. The name should correspond to a -// dynamic template that is defined in ES mapping, e.g. -// https://github.com/elastic/elasticsearch/blob/8.15/x-pack/plugin/core/template-resources/src/main/resources/metrics%40mappings.json -func metricDpToDynamicTemplate(metric pmetric.Metric, dp dataPoint) string { - switch metric.Type() { - case pmetric.MetricTypeSum: - switch dp.(pmetric.NumberDataPoint).ValueType() { - case pmetric.NumberDataPointValueTypeDouble: - if metric.Sum().IsMonotonic() { - return "counter_double" - } - return "gauge_double" - case pmetric.NumberDataPointValueTypeInt: - if metric.Sum().IsMonotonic() { - return "counter_long" - } - return "gauge_long" - default: - return "" // NumberDataPointValueTypeEmpty should already be discarded in numberToValue - } - case pmetric.MetricTypeGauge: - switch dp.(pmetric.NumberDataPoint).ValueType() { - case pmetric.NumberDataPointValueTypeDouble: - return "gauge_double" - case pmetric.NumberDataPointValueTypeInt: - return "gauge_long" - default: - return "" // NumberDataPointValueTypeEmpty should already be discarded in numberToValue - } - case pmetric.MetricTypeHistogram, pmetric.MetricTypeExponentialHistogram: - return "histogram" - case pmetric.MetricTypeSummary: - return "summary_metrics" - } - return "" +type summaryDataPoint struct { + pmetric.SummaryDataPoint + mappingHintGetter +} + +func newSummaryDataPoint(dp pmetric.SummaryDataPoint) summaryDataPoint { + return summaryDataPoint{SummaryDataPoint: dp, mappingHintGetter: newMappingHintGetter(dp.Attributes())} } -func summaryToValue(dp pmetric.SummaryDataPoint) pcommon.Value { +func (dp summaryDataPoint) Value() (pcommon.Value, error) { // TODO: Add support for quantiles // https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/34561 vm := pcommon.NewValueMap() m := vm.Map() m.PutDouble("sum", dp.Sum()) m.PutInt("value_count", int64(dp.Count())) - return vm + return vm, nil +} + +func (dp summaryDataPoint) DynamicTemplate(_ pmetric.Metric) string { + return "summary" +} + +func (dp summaryDataPoint) DocCount() uint64 { + return dp.Count() +} + +type exponentialHistogramDataPoint struct { + pmetric.ExponentialHistogramDataPoint + mappingHintGetter } -func exponentialHistogramToValue(dp pmetric.ExponentialHistogramDataPoint) pcommon.Value { - counts, values := exphistogram.ToTDigest(dp) +func newExponentialHistogramDataPoint(dp pmetric.ExponentialHistogramDataPoint) exponentialHistogramDataPoint { + return exponentialHistogramDataPoint{ExponentialHistogramDataPoint: dp, mappingHintGetter: newMappingHintGetter(dp.Attributes())} +} + +func (dp exponentialHistogramDataPoint) Value() (pcommon.Value, error) { + if dp.HasMappingHint(hintAggregateMetricDouble) { + vm := pcommon.NewValueMap() + m := vm.Map() + m.PutDouble("sum", dp.Sum()) + m.PutInt("value_count", int64(dp.Count())) + return vm, nil + } + + counts, values := exphistogram.ToTDigest(dp.ExponentialHistogramDataPoint) vm := pcommon.NewValueMap() m := vm.Map() @@ -371,7 +424,49 @@ func exponentialHistogramToValue(dp pmetric.ExponentialHistogramDataPoint) pcomm vmValues.AppendEmpty().SetDouble(v) } - return vm + return vm, nil +} + +func (dp exponentialHistogramDataPoint) DynamicTemplate(_ pmetric.Metric) string { + if dp.HasMappingHint(hintAggregateMetricDouble) { + return "summary" + } + return "histogram" +} + +func (dp exponentialHistogramDataPoint) DocCount() uint64 { + return dp.Count() +} + +type histogramDataPoint struct { + pmetric.HistogramDataPoint + mappingHintGetter +} + +func newHistogramDataPoint(dp pmetric.HistogramDataPoint) histogramDataPoint { + return histogramDataPoint{HistogramDataPoint: dp, mappingHintGetter: newMappingHintGetter(dp.Attributes())} +} + +func (dp histogramDataPoint) Value() (pcommon.Value, error) { + if dp.HasMappingHint(hintAggregateMetricDouble) { + vm := pcommon.NewValueMap() + m := vm.Map() + m.PutDouble("sum", dp.Sum()) + m.PutInt("value_count", int64(dp.Count())) + return vm, nil + } + return histogramToValue(dp.HistogramDataPoint) +} + +func (dp histogramDataPoint) DynamicTemplate(_ pmetric.Metric) string { + if dp.HasMappingHint(hintAggregateMetricDouble) { + return "summary" + } + return "histogram" +} + +func (dp histogramDataPoint) DocCount() uint64 { + return dp.HistogramDataPoint.Count() } func histogramToValue(dp pmetric.HistogramDataPoint) (pcommon.Value, error) { @@ -422,9 +517,16 @@ func histogramToValue(dp pmetric.HistogramDataPoint) (pcommon.Value, error) { return vm, nil } -var errInvalidNumberDataPoint = errors.New("invalid number data point") +type numberDataPoint struct { + pmetric.NumberDataPoint + mappingHintGetter +} -func numberToValue(dp pmetric.NumberDataPoint) (pcommon.Value, error) { +func newNumberDataPoint(dp pmetric.NumberDataPoint) numberDataPoint { + return numberDataPoint{NumberDataPoint: dp, mappingHintGetter: newMappingHintGetter(dp.Attributes())} +} + +func (dp numberDataPoint) Value() (pcommon.Value, error) { switch dp.ValueType() { case pmetric.NumberDataPointValueTypeDouble: value := dp.DoubleValue() @@ -438,7 +540,43 @@ func numberToValue(dp pmetric.NumberDataPoint) (pcommon.Value, error) { return pcommon.Value{}, errInvalidNumberDataPoint } -func (m *encodeModel) encodeResourceOTelMode(document *objmodel.Document, resource pcommon.Resource, resourceSchemaURL string, stringifyArrayValues bool) { +func (dp numberDataPoint) DynamicTemplate(metric pmetric.Metric) string { + switch metric.Type() { + case pmetric.MetricTypeSum: + switch dp.NumberDataPoint.ValueType() { + case pmetric.NumberDataPointValueTypeDouble: + if metric.Sum().IsMonotonic() { + return "counter_double" + } + return "gauge_double" + case pmetric.NumberDataPointValueTypeInt: + if metric.Sum().IsMonotonic() { + return "counter_long" + } + return "gauge_long" + default: + return "" // NumberDataPointValueTypeEmpty should already be discarded in numberToValue + } + case pmetric.MetricTypeGauge: + switch dp.NumberDataPoint.ValueType() { + case pmetric.NumberDataPointValueTypeDouble: + return "gauge_double" + case pmetric.NumberDataPointValueTypeInt: + return "gauge_long" + default: + return "" // NumberDataPointValueTypeEmpty should already be discarded in numberToValue + } + } + return "" +} + +func (dp numberDataPoint) DocCount() uint64 { + return 1 +} + +var errInvalidNumberDataPoint = errors.New("invalid number data point") + +func (m *encodeModel) encodeResourceOTelMode(document *objmodel.Document, resource pcommon.Resource, resourceSchemaURL string) { resourceMapVal := pcommon.NewValueMap() resourceMap := resourceMapVal.Map() if resourceSchemaURL != "" { @@ -454,13 +592,11 @@ func (m *encodeModel) encodeResourceOTelMode(document *objmodel.Document, resour } return false }) - if stringifyArrayValues { - mapStringifyArrayValues(resourceAttrMap) - } + document.Add("resource", objmodel.ValueFromAttribute(resourceMapVal)) } -func (m *encodeModel) encodeScopeOTelMode(document *objmodel.Document, scope pcommon.InstrumentationScope, scopeSchemaURL string, stringifyArrayValues bool) { +func (m *encodeModel) encodeScopeOTelMode(document *objmodel.Document, scope pcommon.InstrumentationScope, scopeSchemaURL string) { scopeMapVal := pcommon.NewValueMap() scopeMap := scopeMapVal.Map() if scope.Name() != "" { @@ -482,13 +618,10 @@ func (m *encodeModel) encodeScopeOTelMode(document *objmodel.Document, scope pco } return false }) - if stringifyArrayValues { - mapStringifyArrayValues(scopeAttrMap) - } document.Add("scope", objmodel.ValueFromAttribute(scopeMapVal)) } -func (m *encodeModel) encodeAttributesOTelMode(document *objmodel.Document, attributeMap pcommon.Map, stringifyArrayValues bool) { +func (m *encodeModel) encodeAttributesOTelMode(document *objmodel.Document, attributeMap pcommon.Map) { attrsCopy := pcommon.NewMap() // Copy to avoid mutating original map attributeMap.CopyTo(attrsCopy) attrsCopy.RemoveIf(func(key string, val pcommon.Value) bool { @@ -499,27 +632,14 @@ func (m *encodeModel) encodeAttributesOTelMode(document *objmodel.Document, attr // Move them to the top of the document and remove them from the record document.AddAttribute(key, val) return true + case mappingHintsAttrKey: + return true } return false }) - if stringifyArrayValues { - mapStringifyArrayValues(attrsCopy) - } document.AddAttributes("attributes", attrsCopy) } -// mapStringifyArrayValues replaces all slice values within an attribute map to their string representation. -// It is useful to workaround Elasticsearch TSDB not supporting arrays as dimensions. -// See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/35004 -func mapStringifyArrayValues(m pcommon.Map) { - m.Range(func(_ string, v pcommon.Value) bool { - if v.Type() == pcommon.ValueTypeSlice { - v.SetStr(v.AsString()) - } - return true - }) -} - func (m *encodeModel) encodeSpan(resource pcommon.Resource, resourceSchemaURL string, span ptrace.Span, scope pcommon.InstrumentationScope, scopeSchemaURL string) ([]byte, error) { var document objmodel.Document switch m.mode { @@ -528,7 +648,8 @@ func (m *encodeModel) encodeSpan(resource pcommon.Resource, resourceSchemaURL st default: document = m.encodeSpanDefaultMode(resource, span, scope) } - document.Dedup() + // For OTel mode, prefix conflicts are not a problem as otel-data has subobjects: false + document.Dedup(m.mode != MappingOTel) var buf bytes.Buffer err := document.Serialize(&buf, m.dedot, m.mode == MappingOTel) return buf.Bytes(), err @@ -545,7 +666,7 @@ func (m *encodeModel) encodeSpanOTelMode(resource pcommon.Resource, resourceSche document.AddString("kind", span.Kind().String()) document.AddInt("duration", int64(span.EndTimestamp()-span.StartTimestamp())) - m.encodeAttributesOTelMode(&document, span.Attributes(), false) + m.encodeAttributesOTelMode(&document, span.Attributes()) document.AddInt("dropped_attributes_count", int64(span.DroppedAttributesCount())) document.AddInt("dropped_events_count", int64(span.DroppedEventsCount())) @@ -569,8 +690,8 @@ func (m *encodeModel) encodeSpanOTelMode(resource pcommon.Resource, resourceSche document.AddString("status.message", span.Status().Message()) document.AddString("status.code", span.Status().Code().String()) - m.encodeResourceOTelMode(&document, resource, resourceSchemaURL, false) - m.encodeScopeOTelMode(&document, scope, scopeSchemaURL, false) + m.encodeResourceOTelMode(&document, resource, resourceSchemaURL) + m.encodeScopeOTelMode(&document, scope, scopeSchemaURL) return document } @@ -608,9 +729,9 @@ func (m *encodeModel) encodeSpanEvent(resource pcommon.Resource, resourceSchemaU document.AddTraceID("trace_id", span.TraceID()) document.AddInt("dropped_attributes_count", int64(spanEvent.DroppedAttributesCount())) - m.encodeAttributesOTelMode(&document, spanEvent.Attributes(), false) - m.encodeResourceOTelMode(&document, resource, resourceSchemaURL, false) - m.encodeScopeOTelMode(&document, scope, scopeSchemaURL, false) + m.encodeAttributesOTelMode(&document, spanEvent.Attributes()) + m.encodeResourceOTelMode(&document, resource, resourceSchemaURL) + m.encodeScopeOTelMode(&document, scope, scopeSchemaURL) return &document } @@ -786,7 +907,7 @@ func metricECSHash(timestamp pcommon.Timestamp, attributes pcommon.Map) uint32 { binary.LittleEndian.PutUint64(timestampBuf, uint64(timestamp)) hasher.Write(timestampBuf) - mapHashExcludeDataStreamAttr(hasher, attributes) + mapHashExcludeReservedAttrs(hasher, attributes) return hasher.Sum32() } @@ -803,20 +924,23 @@ func metricOTelHash(dp dataPoint, scopeAttrs pcommon.Map, unit string) uint32 { hasher.Write([]byte(unit)) - mapHashExcludeDataStreamAttr(hasher, scopeAttrs) - mapHashExcludeDataStreamAttr(hasher, dp.Attributes()) + mapHashExcludeReservedAttrs(hasher, scopeAttrs) + mapHashExcludeReservedAttrs(hasher, dp.Attributes(), mappingHintsAttrKey) return hasher.Sum32() } -// mapHashExcludeDataStreamAttr is mapHash but ignoring DS attributes. -// It is useful for cases where index is already considered during routing and no need to be considered in hashing. -func mapHashExcludeDataStreamAttr(hasher hash.Hash, m pcommon.Map) { +// mapHashExcludeReservedAttrs is mapHash but ignoring some reserved attributes. +// e.g. index is already considered during routing and DS attributes do not need to be considered in hashing +func mapHashExcludeReservedAttrs(hasher hash.Hash, m pcommon.Map, extra ...string) { m.Range(func(k string, v pcommon.Value) bool { switch k { case dataStreamType, dataStreamDataset, dataStreamNamespace: return true } + if slices.Contains(extra, k) { + return true + } hasher.Write([]byte(k)) valueHash(hasher, v) diff --git a/exporter/elasticsearchexporter/model_test.go b/exporter/elasticsearchexporter/model_test.go index 0433ee561845..136039cf28ea 100644 --- a/exporter/elasticsearchexporter/model_test.go +++ b/exporter/elasticsearchexporter/model_test.go @@ -101,16 +101,15 @@ func TestEncodeMetric(t *testing.T) { var docsBytes [][]byte for i := 0; i < metrics.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().At(0).Sum().DataPoints().Len(); i++ { - val, err := numberToValue(metrics.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().At(0).Sum().DataPoints().At(i)) - require.NoError(t, err) - err = model.upsertMetricDataPointValue(docs, + err := model.upsertMetricDataPointValue( + docs, metrics.ResourceMetrics().At(0).Resource(), "", metrics.ResourceMetrics().At(0).ScopeMetrics().At(0).Scope(), "", metrics.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().At(0), - metrics.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().At(0).Sum().DataPoints().At(i), - val) + newNumberDataPoint(metrics.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().At(0).Sum().DataPoints().At(i)), + ) require.NoError(t, err) } @@ -961,6 +960,9 @@ func decodeOTelID(data []byte) ([]byte, error) { } func TestEncodeLogOtelMode(t *testing.T) { + randomString := strings.Repeat("abcdefghijklmnopqrstuvwxyz0123456789", 10) + maxLenNamespace := maxDataStreamBytes - len(disallowedNamespaceRunes) + maxLenDataset := maxDataStreamBytes - len(disallowedDatasetRunes) - len(".otel") tests := []struct { name string @@ -1045,6 +1047,20 @@ func TestEncodeLogOtelMode(t *testing.T) { return assignDatastreamData(or, "", "third.otel") }, }, + { + name: "sanitize dataset/namespace", + rec: buildOTelRecordTestData(t, func(or OTelRecord) OTelRecord { + or.Attributes["data_stream.dataset"] = disallowedDatasetRunes + randomString + or.Attributes["data_stream.namespace"] = disallowedNamespaceRunes + randomString + return or + }), + wantFn: func(or OTelRecord) OTelRecord { + deleteDatasetAttributes(or) + ds := strings.Repeat("_", len(disallowedDatasetRunes)) + randomString[:maxLenDataset] + ".otel" + ns := strings.Repeat("_", len(disallowedNamespaceRunes)) + randomString[:maxLenNamespace] + return assignDatastreamData(or, "", ds, ns) + }, + }, } m := encodeModel{ @@ -1056,7 +1072,7 @@ func TestEncodeLogOtelMode(t *testing.T) { record, scope, resource := createTestOTelLogRecord(t, tc.rec) // This sets the data_stream values default or derived from the record/scope/resources - routeLogRecord(record, scope, resource, "", true) + routeLogRecord(record.Attributes(), scope.Attributes(), resource.Attributes(), "", true, scope.Name()) b, err := m.encodeLog(resource, tc.rec.Resource.SchemaURL, record, scope, tc.rec.Scope.SchemaURL) require.NoError(t, err) @@ -1209,3 +1225,43 @@ func TestEncodeLogScalarObjectConflict(t *testing.T) { fooValue = gjson.GetBytes(encoded, "Attributes\\.foo\\.value") assert.Equal(t, "foovalue", fooValue.Str) } + +func TestEncodeLogBodyMapMode(t *testing.T) { + // craft a log record with a body map + logs := plog.NewLogs() + resourceLogs := logs.ResourceLogs().AppendEmpty() + scopeLogs := resourceLogs.ScopeLogs().AppendEmpty() + logRecords := scopeLogs.LogRecords() + observedTimestamp := pcommon.Timestamp(time.Now().UnixNano()) + + logRecord := logRecords.AppendEmpty() + logRecord.SetObservedTimestamp(observedTimestamp) + + bodyMap := pcommon.NewMap() + bodyMap.PutStr("@timestamp", "2024-03-12T20:00:41.123456789Z") + bodyMap.PutInt("id", 1) + bodyMap.PutStr("key", "value") + bodyMap.PutStr("key.a", "a") + bodyMap.PutStr("key.a.b", "b") + bodyMap.PutDouble("pi", 3.14) + bodyMap.CopyTo(logRecord.Body().SetEmptyMap()) + + m := encodeModel{} + got, err := m.encodeLogBodyMapMode(logRecord) + require.NoError(t, err) + + require.JSONEq(t, `{ + "@timestamp": "2024-03-12T20:00:41.123456789Z", + "id": 1, + "key": "value", + "key.a": "a", + "key.a.b": "b", + "pi": 3.14 + }`, string(got)) + + // invalid body map + logRecord.Body().SetEmptySlice() + _, err = m.encodeLogBodyMapMode(logRecord) + require.Error(t, err) + require.ErrorIs(t, err, ErrInvalidTypeForBodyMapMode) +} diff --git a/exporter/elasticsearchexporter/testdata/config.yaml b/exporter/elasticsearchexporter/testdata/config.yaml index 6f614399b579..e3f7ffc67fa9 100644 --- a/exporter/elasticsearchexporter/testdata/config.yaml +++ b/exporter/elasticsearchexporter/testdata/config.yaml @@ -17,7 +17,7 @@ elasticsearch/trace: flush: bytes: 10485760 retry: - max_requests: 5 + max_retries: 5 retry_on_status: - 429 - 500 @@ -38,7 +38,7 @@ elasticsearch/metric: flush: bytes: 10485760 retry: - max_requests: 5 + max_retries: 5 retry_on_status: - 429 - 500 @@ -61,7 +61,7 @@ elasticsearch/log: flush: bytes: 10485760 retry: - max_requests: 5 + max_retries: 5 retry_on_status: - 429 - 500 @@ -86,3 +86,9 @@ elasticsearch/batcher_disabled: endpoint: https://elastic.example.com:9200 batcher: enabled: false +elasticsearch/compression_none: + endpoint: https://elastic.example.com:9200 + compression: none +elasticsearch/compression_gzip: + endpoint: https://elastic.example.com:9200 + compression: gzip diff --git a/exporter/elasticsearchexporter/utils_test.go b/exporter/elasticsearchexporter/utils_test.go index d53d31f9f2fe..94c475219ffb 100644 --- a/exporter/elasticsearchexporter/utils_test.go +++ b/exporter/elasticsearchexporter/utils_test.go @@ -16,6 +16,7 @@ import ( "testing" "time" + "github.com/klauspost/compress/gzip" "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" @@ -48,7 +49,13 @@ func assertItemsEqual(t *testing.T, expected, actual []itemRequest, assertOrder copy(actualItems, actual) slices.SortFunc(actualItems, itemRequestsSortFunc) } - assert.Equal(t, expectedItems, actualItems) + + assert.Equal(t, len(expectedItems), len(actualItems), "want %d items, got %d", len(expectedItems), len(actualItems)) + for i, want := range expectedItems { + got := actualItems[i] + assert.JSONEq(t, string(want.Action), string(got.Action), "item %d action", i) + assert.JSONEq(t, string(want.Document), string(got.Document), "item %d document", i) + } } type itemResponse struct { @@ -154,7 +161,11 @@ func newESTestServer(t *testing.T, bulkHandler bulkHandler) *httptest.Server { tsStart := time.Now() var items []itemRequest - dec := json.NewDecoder(req.Body) + body := req.Body + if req.Header.Get("Content-Encoding") == "gzip" { + body, _ = gzip.NewReader(req.Body) + } + dec := json.NewDecoder(body) for dec.More() { var action, doc json.RawMessage if err := dec.Decode(&action); err != nil { @@ -288,6 +299,8 @@ func fillAttributeMap(attrs pcommon.Map, m map[string]any) { attrs.EnsureCapacity(len(m)) for k, v := range m { switch vv := v.(type) { + case bool: + attrs.PutBool(k, vv) case string: attrs.PutStr(k, vv) case []string: diff --git a/exporter/fileexporter/README.md b/exporter/fileexporter/README.md index ec550717b6d9..6ddb22371b2f 100644 --- a/exporter/fileexporter/README.md +++ b/exporter/fileexporter/README.md @@ -4,15 +4,20 @@ | Status | | | ------------- |-----------| | Stability | [alpha]: traces, metrics, logs | -| Distributions | [core], [contrib] | +| Distributions | [core], [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Ffile%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Ffile) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Ffile%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Ffile) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@atingchen](https://www.github.com/atingchen) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s +Writes telemetry data to files on disk. + +Use the [OTLP JSON File receiver](../../receiver/otlpjsonfilereceiver/README.md) to read the data back into the collector (as long as the data was exported using OTLP JSON format). + Exporter supports the following features: + Support for writing pipeline data to a file. diff --git a/exporter/fileexporter/encoding_test.go b/exporter/fileexporter/encoding_test.go index c7c6d836e644..817e9c414ee9 100644 --- a/exporter/fileexporter/encoding_test.go +++ b/exporter/fileexporter/encoding_test.go @@ -27,18 +27,10 @@ type hostWithEncoding struct { encodings map[component.ID]component.Component } -func (h hostWithEncoding) GetFactory(_ component.Kind, _ component.Type) component.Factory { - panic("unsupported") -} - func (h hostWithEncoding) GetExtensions() map[component.ID]component.Component { return h.encodings } -func (h hostWithEncoding) GetExporters() map[component.DataType]map[component.ID]component.Component { - panic("unsupported") -} - func TestEncoding(t *testing.T) { f := NewFactory() cfg := f.CreateDefaultConfig().(*Config) @@ -49,15 +41,15 @@ func TestEncoding(t *testing.T) { ef := otlpencodingextension.NewFactory() efCfg := ef.CreateDefaultConfig().(*otlpencodingextension.Config) efCfg.Protocol = "otlp_json" - ext, err := ef.CreateExtension(context.Background(), extensiontest.NewNopSettings(), efCfg) + ext, err := ef.Create(context.Background(), extensiontest.NewNopSettings(), efCfg) require.NoError(t, err) require.NoError(t, ext.Start(context.Background(), componenttest.NewNopHost())) - me, err := f.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + me, err := f.CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) - te, err := f.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + te, err := f.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) - le, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + le, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := hostWithEncoding{ map[component.ID]component.Component{id: ext}, diff --git a/exporter/fileexporter/factory.go b/exporter/fileexporter/factory.go index e0b7dcd1e2eb..4c3b5615e177 100644 --- a/exporter/fileexporter/factory.go +++ b/exporter/fileexporter/factory.go @@ -73,7 +73,7 @@ func createTracesExporter( cfg component.Config, ) (exporter.Traces, error) { fe := getOrCreateFileExporter(cfg, set.Logger) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -90,7 +90,7 @@ func createMetricsExporter( cfg component.Config, ) (exporter.Metrics, error) { fe := getOrCreateFileExporter(cfg, set.Logger) - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, @@ -107,7 +107,7 @@ func createLogsExporter( cfg component.Config, ) (exporter.Logs, error) { fe := getOrCreateFileExporter(cfg, set.Logger) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, @@ -120,7 +120,7 @@ func createLogsExporter( // getOrCreateFileExporter creates a FileExporter and caches it for a particular configuration, // or returns the already cached one. Caching is required because the factory is asked trace and -// metric receivers separately when it gets CreateTracesReceiver() and CreateMetricsReceiver() +// metric receivers separately when it gets CreateTraces() and CreateMetrics() // but they must not create separate objects, they must use one Exporter object per configuration. func getOrCreateFileExporter(cfg component.Config, logger *zap.Logger) FileExporter { conf := cfg.(*Config) @@ -180,6 +180,6 @@ func newFileWriter(path string, shouldAppend bool, rotation *Rotation, flushInte // This is the map of already created File exporters for particular configurations. // We maintain this map because the Factory is asked trace and metric receivers separately -// when it gets CreateTracesReceiver() and CreateMetricsReceiver() but they must not +// when it gets CreateTraces() and CreateMetrics() but they must not // create separate objects, they must use one Exporter object per configuration. var exporters = sharedcomponent.NewSharedComponents() diff --git a/exporter/fileexporter/factory_test.go b/exporter/fileexporter/factory_test.go index 1f8647537750..254210bb345b 100644 --- a/exporter/fileexporter/factory_test.go +++ b/exporter/fileexporter/factory_test.go @@ -22,7 +22,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateMetricsExporterError(t *testing.T) { +func TestCreateMetricsError(t *testing.T) { cfg := &Config{ FormatType: formatTypeJSON, } @@ -35,7 +35,7 @@ func TestCreateMetricsExporterError(t *testing.T) { assert.Error(t, err) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cfg := &Config{ FormatType: formatTypeJSON, Path: tempFileName(t), @@ -49,7 +49,7 @@ func TestCreateMetricsExporter(t *testing.T) { assert.NoError(t, exp.Shutdown(context.Background())) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cfg := &Config{ FormatType: formatTypeJSON, Path: tempFileName(t), @@ -63,7 +63,7 @@ func TestCreateTracesExporter(t *testing.T) { assert.NoError(t, exp.Shutdown(context.Background())) } -func TestCreateTracesExporterError(t *testing.T) { +func TestCreateTracesError(t *testing.T) { cfg := &Config{ FormatType: formatTypeJSON, } @@ -76,7 +76,7 @@ func TestCreateTracesExporterError(t *testing.T) { assert.Error(t, err) } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { cfg := &Config{ FormatType: formatTypeJSON, Path: tempFileName(t), @@ -90,7 +90,7 @@ func TestCreateLogsExporter(t *testing.T) { assert.NoError(t, exp.Shutdown(context.Background())) } -func TestCreateLogsExporterError(t *testing.T) { +func TestCreateLogsError(t *testing.T) { cfg := &Config{ FormatType: formatTypeJSON, } diff --git a/exporter/fileexporter/generated_component_test.go b/exporter/fileexporter/generated_component_test.go index 094de0a6b1db..f7d603f7074e 100644 --- a/exporter/fileexporter/generated_component_test.go +++ b/exporter/fileexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/fileexporter/go.mod b/exporter/fileexporter/go.mod index c3604b44d214..a625a678e380 100644 --- a/exporter/fileexporter/go.mod +++ b/exporter/fileexporter/go.mod @@ -4,30 +4,30 @@ go 1.22.0 require ( github.com/hashicorp/golang-lru/v2 v2.0.7 - github.com/klauspost/compress v1.17.9 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.108.0 + github.com/klauspost/compress v1.17.11 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -38,36 +38,31 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/fileexporter/go.sum b/exporter/fileexporter/go.sum index 93e7b3c6bc35..70a3b4df4465 100644 --- a/exporter/fileexporter/go.sum +++ b/exporter/fileexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -28,8 +24,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -40,8 +36,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,73 +45,65 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -141,12 +127,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -157,10 +143,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/fileexporter/metadata.yaml b/exporter/fileexporter/metadata.yaml index 0749422f4879..8a8b86f9a266 100644 --- a/exporter/fileexporter/metadata.yaml +++ b/exporter/fileexporter/metadata.yaml @@ -4,7 +4,7 @@ status: class: exporter stability: alpha: [traces, metrics, logs] - distributions: [core, contrib] + distributions: [core, contrib, k8s] codeowners: active: [atingchen] diff --git a/exporter/googlecloudexporter/README.md b/exporter/googlecloudexporter/README.md index 78c7b96d9900..ffb1ed65e8b6 100644 --- a/exporter/googlecloudexporter/README.md +++ b/exporter/googlecloudexporter/README.md @@ -16,6 +16,10 @@ This exporter can be used to send metrics to [Google Cloud Monitoring](https://c (formerly Stackdriver), traces to [Google Cloud Trace](https://cloud.google.com/trace), and logs to [Google Cloud Logging](https://cloud.google.com/logging). +To learn more about instrumentation and observability, including opinionated recommendations +for Google Cloud Observability, visit [Instrumentation and +observability](https://cloud.google.com/stackdriver/docs/instrumentation/overview). + ## Getting started ### Prerequisite: Authenticating @@ -136,7 +140,7 @@ These instructions are to get you up and running quickly with the GCP exporter i section](#prerequisite-authenticating) above. -4. **Run the collector.** The following runs the collector in the foreground, so please execute it in a separate terminal. +4. **Run the collector.** The following runs the collector in the foreground, so please execute it in a separate terminal. ```sh ./otelcol-contrib --config=config.yaml @@ -435,7 +439,7 @@ By default, the exporter sends telemetry to the project specified by `project` i The `gcp.project.id` label can be combined with the `destination_project_quota` option to attribute quota usage to the project parsed by the label. This feature is currently only available for traces and metrics. The Collector's default service account will need `roles/serviceusage.serviceUsageConsumer` IAM permissions in the destination quota project. -Note that this option will not work if a quota project is already defined in your Collector's GCP credentials. In this case, the telemetry will fail to export with a "project not found" error. +Note that this option will not work if a quota project is already defined in your Collector's GCP credentials. In this case, the telemetry will fail to export with a "project not found" error. This can be done by manually editing your [ADC file](https://cloud.google.com/docs/authentication/application-default-credentials#personal) (if it exists) to remove the `quota_project_id` entry line. ## Features and Feature-Gates diff --git a/exporter/googlecloudexporter/config.go b/exporter/googlecloudexporter/config.go index b0f70727dca5..bb4d9f169c52 100644 --- a/exporter/googlecloudexporter/config.go +++ b/exporter/googlecloudexporter/config.go @@ -15,8 +15,8 @@ type Config struct { collector.Config `mapstructure:",squash"` // Timeout for all API calls. If not set, defaults to 12 seconds. - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` } func (cfg *Config) Validate() error { diff --git a/exporter/googlecloudexporter/config_test.go b/exporter/googlecloudexporter/config_test.go index 106a130d7c66..74cfced9886f 100644 --- a/exporter/googlecloudexporter/config_test.go +++ b/exporter/googlecloudexporter/config_test.go @@ -36,7 +36,7 @@ func TestLoadConfig(t *testing.T) { assert.Equal(t, &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 20 * time.Second, }, Config: collector.Config{ @@ -64,7 +64,7 @@ func TestLoadConfig(t *testing.T) { }, }, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/exporter/googlecloudexporter/factory.go b/exporter/googlecloudexporter/factory.go index d24cc15cafc5..13779af801d9 100644 --- a/exporter/googlecloudexporter/factory.go +++ b/exporter/googlecloudexporter/factory.go @@ -11,6 +11,7 @@ import ( "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" "go.opentelemetry.io/collector/featuregate" @@ -44,8 +45,8 @@ func NewFactory() exporter.Factory { // createDefaultConfig creates the default configuration for exporter. func createDefaultConfig() component.Config { return &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: defaultTimeout}, - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + TimeoutSettings: exporterhelper.TimeoutConfig{Timeout: defaultTimeout}, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), Config: collector.DefaultConfig(), } } @@ -55,11 +56,11 @@ func createLogsExporter( params exporter.Settings, cfg component.Config) (exporter.Logs, error) { eCfg := cfg.(*Config) - logsExporter, err := collector.NewGoogleCloudLogsExporter(ctx, eCfg.Config, params.TelemetrySettings.Logger, params.BuildInfo.Version) + logsExporter, err := collector.NewGoogleCloudLogsExporter(ctx, eCfg.Config, params.TelemetrySettings.Logger, params.TelemetrySettings.MeterProvider, params.BuildInfo.Version, eCfg.TimeoutSettings.Timeout) if err != nil { return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, params, cfg, @@ -68,8 +69,10 @@ func createLogsExporter( exporterhelper.WithShutdown(logsExporter.Shutdown), // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), - exporterhelper.WithQueue(eCfg.QueueSettings)) + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), + exporterhelper.WithQueue(eCfg.QueueSettings), + exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}), + ) } // createTracesExporter creates a trace exporter based on this config. @@ -78,11 +81,11 @@ func createTracesExporter( params exporter.Settings, cfg component.Config) (exporter.Traces, error) { eCfg := cfg.(*Config) - tExp, err := collector.NewGoogleCloudTracesExporter(ctx, eCfg.Config, params.BuildInfo.Version, eCfg.Timeout) + tExp, err := collector.NewGoogleCloudTracesExporter(ctx, eCfg.Config, params.TelemetrySettings.Logger, params.TelemetrySettings.MeterProvider, params.BuildInfo.Version, eCfg.TimeoutSettings.Timeout) if err != nil { return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, params, cfg, @@ -91,8 +94,10 @@ func createTracesExporter( exporterhelper.WithShutdown(tExp.Shutdown), // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), - exporterhelper.WithQueue(eCfg.QueueSettings)) + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), + exporterhelper.WithQueue(eCfg.QueueSettings), + exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}), + ) } // createMetricsExporter creates a metrics exporter based on this config. @@ -101,11 +106,11 @@ func createMetricsExporter( params exporter.Settings, cfg component.Config) (exporter.Metrics, error) { eCfg := cfg.(*Config) - mExp, err := collector.NewGoogleCloudMetricsExporter(ctx, eCfg.Config, params.TelemetrySettings.Logger, params.BuildInfo.Version, eCfg.Timeout) + mExp, err := collector.NewGoogleCloudMetricsExporter(ctx, eCfg.Config, params.TelemetrySettings.Logger, params.TelemetrySettings.MeterProvider, params.BuildInfo.Version, eCfg.TimeoutSettings.Timeout) if err != nil { return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, params, cfg, @@ -114,6 +119,8 @@ func createMetricsExporter( exporterhelper.WithShutdown(mExp.Shutdown), // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), - exporterhelper.WithQueue(eCfg.QueueSettings)) + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), + exporterhelper.WithQueue(eCfg.QueueSettings), + exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}), + ) } diff --git a/exporter/googlecloudexporter/factory_test.go b/exporter/googlecloudexporter/factory_test.go index 2984e9028c90..028fe2e1e669 100644 --- a/exporter/googlecloudexporter/factory_test.go +++ b/exporter/googlecloudexporter/factory_test.go @@ -30,11 +30,11 @@ func TestCreateExporter(t *testing.T) { eCfg := cfg.(*Config) eCfg.ProjectID = "test" - te, err := factory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), eCfg) + te, err := factory.CreateTraces(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, te, "failed to create trace exporter") - me, err := factory.CreateMetricsExporter(ctx, exportertest.NewNopSettings(), eCfg) + me, err := factory.CreateMetrics(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, me, "failed to create metrics exporter") } @@ -49,11 +49,11 @@ func TestCreateLegacyExporter(t *testing.T) { eCfg := cfg.(*Config) eCfg.ProjectID = "test" - te, err := factory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), eCfg) + te, err := factory.CreateTraces(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, te, "failed to create trace exporter") - me, err := factory.CreateMetricsExporter(ctx, exportertest.NewNopSettings(), eCfg) + me, err := factory.CreateMetrics(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, me, "failed to create metrics exporter") } diff --git a/exporter/googlecloudexporter/generated_component_test.go b/exporter/googlecloudexporter/generated_component_test.go index 30548cde1a0a..2c24a3043af9 100644 --- a/exporter/googlecloudexporter/generated_component_test.go +++ b/exporter/googlecloudexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/googlecloudexporter/go.mod b/exporter/googlecloudexporter/go.mod index 44042dad118d..8502b12c11d0 100644 --- a/exporter/googlecloudexporter/go.mod +++ b/exporter/googlecloudexporter/go.mod @@ -3,13 +3,15 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/google go 1.22.0 require ( - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) @@ -22,17 +24,15 @@ require ( cloud.google.com/go/longrunning v0.5.9 // indirect cloud.google.com/go/monitoring v1.20.2 // indirect cloud.google.com/go/trace v1.10.10 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.3 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.3 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect @@ -42,7 +42,6 @@ require ( github.com/googleapis/gax-go/v2 v2.12.5 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -50,55 +49,51 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/tidwall/gjson v1.10.2 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect github.com/tidwall/tinylru v1.1.0 // indirect github.com/tidwall/wal v1.1.7 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/text v0.17.0 // indirect golang.org/x/time v0.5.0 // indirect google.golang.org/api v0.188.0 // indirect google.golang.org/genproto v0.0.0-20240708141625-4ad9e859172b // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/grpc/stats/opentelemetry v0.0.0-20240702152247-2da976983bbb // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/googlecloudexporter/go.sum b/exporter/googlecloudexporter/go.sum index 6188779102b9..d96e30a4b5ed 100644 --- a/exporter/googlecloudexporter/go.sum +++ b/exporter/googlecloudexporter/go.sum @@ -16,21 +16,17 @@ cloud.google.com/go/monitoring v1.20.2/go.mod h1:36rpg/7fdQ7NX5pG5x1FA7cXTVXusOp cloud.google.com/go/trace v1.10.10 h1:eiIFoRp1qTh2tRemTd8HIE7qZ0Ok5l7dl9pYsNWoXjk= cloud.google.com/go/trace v1.10.10/go.mod h1:5b1BiSYQO27KgGRevNFfoIQ8czwpVgnkKbTLb4wV+XM= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1 h1:55BCCek53ynaXLoMS8bdivu34TYZ4dnKzi4sOf7qtIU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1/go.mod h1:n8ee0TUmtsXm2GUWL86jkrxc8mPGRLuTJg13M/iW6Q0= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1 h1:01bHLeqkrxYSkjvyTBEZ8rxBxDhWm1snWGEW73Te4lU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1/go.mod h1:UFO9jC3njhKdD/ymLnaKi7Or5miVWq06LvRWQNFfnTU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.3 h1:GEnIFsGk3Rxu2NerB8neHLZzxIX2QnNceVByctRSCNA= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.3/go.mod h1:UGot0dwooP2NhcO6YrQLA9MlQ8NL7Ey5dkQnMF9YWEg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.3 h1:0t8v1hFl4bfMxvAyeD+Nay9YeVTffUMf3U5LM/0dTIM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.3/go.mod h1:r8vUXZXWrNOUb+fF1iy1/KiK1lfR4bl4ebk6kOfPpY0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.3 h1:Nl7phYyHjnqofWDpD+6FYdiwtNIxebn0AHLry7Sxb0M= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.3/go.mod h1:pNP/L2wDlaQnQlFvkDKGSruDoYRpmAxB6drgsskfYwg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.3 h1:2vcVkrNdSMJpoOVAWi9ApsQR5iqNeFGt5Qx8Xlt3IoI= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.3/go.mod h1:wRbFgBQUVm1YXrvWKofAEmq9HNJTDphbAaJSSX01KUI= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -49,8 +45,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -93,8 +89,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -105,8 +99,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -116,21 +108,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -154,60 +136,62 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 h1:vS1Ao/R55RNV4O7TA2Qopok8yN+X0LIP6RVWLFkprck= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0/go.mod h1:BMsdeOxN04K0L5FNUBfjFdvwWGNe/rkmSwH4Aelu/X0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -239,8 +223,8 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -252,8 +236,8 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= @@ -290,8 +274,10 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240702152247-2da976983bbb h1:i2YAt03JpcWES+tSjXp3X3SvUdcVhwa07DJP8AqjLGQ= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240702152247-2da976983bbb/go.mod h1:4R1ubOs0qFA4h2ZP1CgEXfa7auTXBxA2xUh9o26WXu8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -301,8 +287,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/googlecloudpubsubexporter/config.go b/exporter/googlecloudpubsubexporter/config.go index 4b2979a7d9b1..829e659a6238 100644 --- a/exporter/googlecloudpubsubexporter/config.go +++ b/exporter/googlecloudpubsubexporter/config.go @@ -16,9 +16,9 @@ var topicMatcher = regexp.MustCompile(`^projects/[a-z][a-z0-9\-]*/topics/`) type Config struct { // Timeout for all API calls. If not set, defaults to 12 seconds. - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // Google Cloud Project ID where the Pubsub client will connect to ProjectID string `mapstructure:"project"` // User agent that will be used by the Pubsub client to connect to the service @@ -38,7 +38,7 @@ type Config struct { // WatermarkConfig customizes the behavior of the watermark type WatermarkConfig struct { - // Behavior of the watermark. Currently, only of the message (none, earliest and current, current being the default) + // Behavior of the watermark. Currently, only of the message (none, earliest and current, current being the default) // will set the timestamp on pubsub based on timestamps of the events inside the message Behavior string `mapstructure:"behavior"` // Indication on how much the timestamp can drift from the current time, the timestamp will be capped to the allowed diff --git a/exporter/googlecloudpubsubexporter/config_test.go b/exporter/googlecloudpubsubexporter/config_test.go index cdbb948ca8f9..0a7943d000db 100644 --- a/exporter/googlecloudpubsubexporter/config_test.go +++ b/exporter/googlecloudpubsubexporter/config_test.go @@ -38,7 +38,7 @@ func TestLoadConfig(t *testing.T) { customConfig.ProjectID = "my-project" customConfig.UserAgent = "opentelemetry-collector-contrib {{version}}" - customConfig.TimeoutSettings = exporterhelper.TimeoutSettings{ + customConfig.TimeoutSettings = exporterhelper.TimeoutConfig{ Timeout: 20 * time.Second, } customConfig.Topic = "projects/my-project/topics/otlp-topic" diff --git a/exporter/googlecloudpubsubexporter/exporter_test.go b/exporter/googlecloudpubsubexporter/exporter_test.go index 414c3a0f0b17..44b057c51a38 100644 --- a/exporter/googlecloudpubsubexporter/exporter_test.go +++ b/exporter/googlecloudpubsubexporter/exporter_test.go @@ -36,7 +36,7 @@ func TestGenerateClientOptions(t *testing.T) { exporterConfig.Insecure = true exporterConfig.ProjectID = "my-project" exporterConfig.Topic = "projects/my-project/topics/otlp" - exporterConfig.TimeoutSettings = exporterhelper.TimeoutSettings{ + exporterConfig.TimeoutSettings = exporterhelper.TimeoutConfig{ Timeout: 12 * time.Second, } exporter := ensureExporter(exportertest.NewNopSettings(), exporterConfig) @@ -67,7 +67,7 @@ func TestExporterDefaultSettings(t *testing.T) { exporterConfig.Insecure = true exporterConfig.ProjectID = "my-project" exporterConfig.Topic = "projects/my-project/topics/otlp" - exporterConfig.TimeoutSettings = exporterhelper.TimeoutSettings{ + exporterConfig.TimeoutSettings = exporterhelper.TimeoutConfig{ Timeout: 12 * time.Second, } exporter := ensureExporter(exportertest.NewNopSettings(), exporterConfig) @@ -96,7 +96,7 @@ func TestExporterCompression(t *testing.T) { exporterConfig.Insecure = true exporterConfig.ProjectID = "my-project" exporterConfig.Topic = "projects/my-project/topics/otlp" - exporterConfig.TimeoutSettings = exporterhelper.TimeoutSettings{ + exporterConfig.TimeoutSettings = exporterhelper.TimeoutConfig{ Timeout: 12 * time.Second, } exporterConfig.Compression = "gzip" diff --git a/exporter/googlecloudpubsubexporter/factory.go b/exporter/googlecloudpubsubexporter/factory.go index 4199a1e7d9c6..881a07d88bad 100644 --- a/exporter/googlecloudpubsubexporter/factory.go +++ b/exporter/googlecloudpubsubexporter/factory.go @@ -73,7 +73,7 @@ func ensureExporter(params exporter.Settings, pCfg *Config) *pubsubExporter { func createDefaultConfig() component.Config { return &Config{ UserAgent: "opentelemetry-collector-contrib {{version}}", - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: defaultTimeout}, + TimeoutSettings: exporterhelper.TimeoutConfig{Timeout: defaultTimeout}, Watermark: WatermarkConfig{ Behavior: "current", AllowedDrift: 0, @@ -89,7 +89,7 @@ func createTracesExporter( pCfg := cfg.(*Config) pubsubExporter := ensureExporter(set, pCfg) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -110,7 +110,7 @@ func createMetricsExporter( pCfg := cfg.(*Config) pubsubExporter := ensureExporter(set, pCfg) - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, @@ -132,7 +132,7 @@ func createLogsExporter( pCfg := cfg.(*Config) pubsubExporter := ensureExporter(set, pCfg) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, diff --git a/exporter/googlecloudpubsubexporter/factory_test.go b/exporter/googlecloudpubsubexporter/factory_test.go index 4ea5a599aee6..5ff0bf8ffe84 100644 --- a/exporter/googlecloudpubsubexporter/factory_test.go +++ b/exporter/googlecloudpubsubexporter/factory_test.go @@ -26,13 +26,13 @@ func TestType(t *testing.T) { assert.Equal(t, metadata.Type, factory.Type()) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() eCfg := cfg.(*Config) eCfg.Endpoint = "http://testing.invalid" - te, err := factory.CreateTracesExporter( + te, err := factory.CreateTraces( context.Background(), exportertest.NewNopSettings(), eCfg, @@ -41,13 +41,13 @@ func TestCreateTracesExporter(t *testing.T) { assert.NotNil(t, te, "failed to create trace exporter") } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() eCfg := cfg.(*Config) eCfg.Endpoint = "http://testing.invalid" - me, err := factory.CreateMetricsExporter( + me, err := factory.CreateMetrics( context.Background(), exportertest.NewNopSettings(), eCfg, @@ -62,7 +62,7 @@ func TestLogsCreateExporter(t *testing.T) { eCfg := cfg.(*Config) eCfg.Endpoint = "http://testing.invalid" - me, err := factory.CreateLogsExporter( + me, err := factory.CreateLogs( context.Background(), exportertest.NewNopSettings(), eCfg, diff --git a/exporter/googlecloudpubsubexporter/generated_component_test.go b/exporter/googlecloudpubsubexporter/generated_component_test.go index 4871d37250f3..38b560760989 100644 --- a/exporter/googlecloudpubsubexporter/generated_component_test.go +++ b/exporter/googlecloudpubsubexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/googlecloudpubsubexporter/go.mod b/exporter/googlecloudpubsubexporter/go.mod index ffeeba39a660..f057f1822b34 100644 --- a/exporter/googlecloudpubsubexporter/go.mod +++ b/exporter/googlecloudpubsubexporter/go.mod @@ -3,42 +3,40 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/google go 1.22.0 require ( - cloud.google.com/go/pubsub v1.42.0 + cloud.google.com/go/pubsub v1.45.1 github.com/google/uuid v1.6.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/zap v1.27.0 - google.golang.org/api v0.195.0 - google.golang.org/grpc v1.66.0 + google.golang.org/api v0.203.0 + google.golang.org/grpc v1.67.1 ) require ( - cloud.google.com/go v0.115.1 // indirect - cloud.google.com/go/auth v0.9.1 // indirect + cloud.google.com/go v0.116.0 // indirect + cloud.google.com/go/auth v0.9.9 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect - cloud.google.com/go/compute/metadata v0.5.0 // indirect - cloud.google.com/go/iam v1.1.13 // indirect - github.com/beorn7/perks v1.0.1 // indirect + cloud.google.com/go/compute/metadata v0.5.2 // indirect + cloud.google.com/go/iam v1.2.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/s2a-go v0.1.8 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect github.com/googleapis/gax-go/v2 v2.13.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -46,44 +44,40 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.einride.tech/aip v0.67.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.einride.tech/aip v0.68.0 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.26.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/crypto v0.28.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - golang.org/x/time v0.6.0 // indirect - google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + golang.org/x/time v0.7.0 // indirect + google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/googlecloudpubsubexporter/go.sum b/exporter/googlecloudpubsubexporter/go.sum index 28ae35df97d5..ec8c0effdaa1 100644 --- a/exporter/googlecloudpubsubexporter/go.sum +++ b/exporter/googlecloudpubsubexporter/go.sum @@ -1,24 +1,20 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= -cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= -cloud.google.com/go/auth v0.9.1 h1:+pMtLEV2k0AXKvs/tGZojuj6QaioxfUjOpMsG5Gtx+w= -cloud.google.com/go/auth v0.9.1/go.mod h1:Sw8ocT5mhhXxFklyhT12Eiy0ed6tTrPMCJjSI8KhYLk= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= +cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U= +cloud.google.com/go/auth v0.9.9 h1:BmtbpNQozo8ZwW2t7QJjnrQtdganSdmqeIBxHxNkEZQ= +cloud.google.com/go/auth v0.9.9/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI= cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY= cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= -cloud.google.com/go/iam v1.1.13 h1:7zWBXG9ERbMLrzQBRhFliAV+kjcRToDTgQT3CTwYyv4= -cloud.google.com/go/iam v1.1.13/go.mod h1:K8mY0uSXwEXS30KrnVb+j54LB/ntfZu1dr+4zFMNbus= -cloud.google.com/go/pubsub v1.42.0 h1:PVTbzorLryFL5ue8esTS2BfehUs0ahyNOY9qcd+HMOs= -cloud.google.com/go/pubsub v1.42.0/go.mod h1:KADJ6s4MbTwhXmse/50SebEhE4SmUwHi48z3/dHar1Y= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= +cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU= +cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g= +cloud.google.com/go/pubsub v1.45.1 h1:ZC/UzYcrmK12THWn1P72z+Pnp2vu/zCZRXyhAfP1hJY= +cloud.google.com/go/pubsub v1.45.1/go.mod h1:3bn7fTmzZFwaUjllitv1WlsNMkqBgGUb3UdMhI54eCc= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -35,8 +31,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -69,16 +65,14 @@ github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw= +github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA= github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s= github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -89,8 +83,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -100,21 +92,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -126,60 +108,62 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.einride.tech/aip v0.67.1 h1:d/4TW92OxXBngkSOwWS2CH5rez869KpKMaN44mdxkFI= -go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= +go.einride.tech/aip v0.68.0 h1:4seM66oLzTpz50u4K1zlJyOXQ3tCzcJN7I22tKkjipw= +go.einride.tech/aip v0.68.0/go.mod h1:7y9FF8VtPWqpxuAxl0KQWqaULxW4zFIesD6zF5RIHHg= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -189,8 +173,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -206,11 +190,11 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -222,14 +206,14 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= +golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -242,26 +226,26 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.195.0 h1:Ude4N8FvTKnnQJHU48RFI40jOBgIrL8Zqr3/QeST6yU= -google.golang.org/api v0.195.0/go.mod h1:DOGRWuv3P8TU8Lnz7uQc4hyNqrBpMtD9ppW3wBJurgc= +google.golang.org/api v0.203.0 h1:SrEeuwU3S11Wlscsn+LA1kb/Y5xT8uggJSkIhD08NAU= +google.golang.org/api v0.203.0/go.mod h1:BuOVyCSYEPwJb3npWvDnNmFI92f3GeRnHNkETneT3SI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c h1:TYOEhrQMrNDTAd2rX9m+WgGr8Ku6YNuj1D7OX6rWSok= -google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c/go.mod h1:2rC5OendXvZ8wGEo/cSLheztrZDZaSoHanUcd1xtZnw= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c h1:Kqjm4WpoWvwhMPcrAczoTyMySQmYa9Wy2iL6Con4zn8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 h1:Df6WuGvthPzc+JiQ/G+m+sNX24kc0aTBqoDN/0yyykE= +google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53/go.mod h1:fheguH3Am2dGp1LfXkrvwqC/KlFq8F0nLq3LryOMrrE= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -271,8 +255,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/googlemanagedprometheusexporter/README.md b/exporter/googlemanagedprometheusexporter/README.md index 4abbf9d20e51..874e3e45a18d 100644 --- a/exporter/googlemanagedprometheusexporter/README.md +++ b/exporter/googlemanagedprometheusexporter/README.md @@ -14,6 +14,10 @@ This exporter can be used to send metrics (including trace exemplars) to [Google Cloud Managed Service for Prometheus](https://cloud.google.com/stackdriver/docs/managed-prometheus). It is one of [several supported approaches for sending metrics to Google Cloud Managed Service for Prometheus](https://cloud.google.com/stackdriver/docs/managed-prometheus#gmp-data-collection). +To learn more about instrumentation and observability, including opinionated recommendations +for Google Cloud Observability, visit [Instrumentation and +observability](https://cloud.google.com/stackdriver/docs/instrumentation/overview). + ## Configuration Reference The following configuration options are supported: @@ -111,7 +115,7 @@ service: pipelines: metrics: receivers: [prometheus] - processors: [batch, memory_limiter, transform, resourcedetection] + processors: [memory_limiter, batch, transform, resourcedetection] exporters: [googlemanagedprometheus] ``` diff --git a/exporter/googlemanagedprometheusexporter/config.go b/exporter/googlemanagedprometheusexporter/config.go index 41708ad3b93f..544165f44707 100644 --- a/exporter/googlemanagedprometheusexporter/config.go +++ b/exporter/googlemanagedprometheusexporter/config.go @@ -16,8 +16,8 @@ type Config struct { GMPConfig `mapstructure:",squash"` // Timeout for all API calls. If not set, defaults to 12 seconds. - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` } // GMPConfig is a subset of the collector config applicable to the GMP exporter. diff --git a/exporter/googlemanagedprometheusexporter/config_test.go b/exporter/googlemanagedprometheusexporter/config_test.go index 70c1a405961d..0289e68ed63c 100644 --- a/exporter/googlemanagedprometheusexporter/config_test.go +++ b/exporter/googlemanagedprometheusexporter/config_test.go @@ -39,7 +39,7 @@ func TestLoadConfig(t *testing.T) { r1 := cfg.Exporters[component.NewIDWithName(metadata.Type, "customname")].(*Config) assert.Equal(t, &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 20 * time.Second, }, GMPConfig: GMPConfig{ @@ -79,7 +79,7 @@ func TestLoadConfig(t *testing.T) { }, }, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/exporter/googlemanagedprometheusexporter/factory.go b/exporter/googlemanagedprometheusexporter/factory.go index 7f58d47d15b5..144a5bfcad12 100644 --- a/exporter/googlemanagedprometheusexporter/factory.go +++ b/exporter/googlemanagedprometheusexporter/factory.go @@ -12,6 +12,7 @@ import ( "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector" "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -34,8 +35,8 @@ func NewFactory() exporter.Factory { // createDefaultConfig creates the default configuration for exporter. func createDefaultConfig() component.Config { return &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{Timeout: defaultTimeout}, - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + TimeoutSettings: exporterhelper.TimeoutConfig{Timeout: defaultTimeout}, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), GMPConfig: GMPConfig{ MetricConfig: MetricConfig{ Config: googlemanagedprometheus.DefaultConfig(), @@ -50,11 +51,11 @@ func createMetricsExporter( params exporter.Settings, cfg component.Config) (exporter.Metrics, error) { eCfg := cfg.(*Config) - mExp, err := collector.NewGoogleCloudMetricsExporter(ctx, eCfg.GMPConfig.toCollectorConfig(), params.TelemetrySettings.Logger, params.BuildInfo.Version, eCfg.Timeout) + mExp, err := collector.NewGoogleCloudMetricsExporter(ctx, eCfg.GMPConfig.toCollectorConfig(), params.TelemetrySettings.Logger, params.TelemetrySettings.MeterProvider, params.BuildInfo.Version, eCfg.TimeoutSettings.Timeout) if err != nil { return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, params, cfg, @@ -63,6 +64,8 @@ func createMetricsExporter( exporterhelper.WithShutdown(mExp.Shutdown), // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), - exporterhelper.WithQueue(eCfg.QueueSettings)) + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), + exporterhelper.WithQueue(eCfg.QueueSettings), + exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}), + ) } diff --git a/exporter/googlemanagedprometheusexporter/factory_test.go b/exporter/googlemanagedprometheusexporter/factory_test.go index bfdf194f72d8..7b1c2c1d1884 100644 --- a/exporter/googlemanagedprometheusexporter/factory_test.go +++ b/exporter/googlemanagedprometheusexporter/factory_test.go @@ -30,11 +30,11 @@ func TestCreateExporter(t *testing.T) { eCfg := cfg.(*Config) eCfg.ProjectID = "test" - te, err := factory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), eCfg) + te, err := factory.CreateTraces(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, te, "failed to create trace exporter") - me, err := factory.CreateMetricsExporter(ctx, exportertest.NewNopSettings(), eCfg) + me, err := factory.CreateMetrics(ctx, exportertest.NewNopSettings(), eCfg) assert.NoError(t, err) assert.NotNil(t, me, "failed to create metrics exporter") } diff --git a/exporter/googlemanagedprometheusexporter/generated_component_test.go b/exporter/googlemanagedprometheusexporter/generated_component_test.go index f7669e530ad1..76b329d29132 100644 --- a/exporter/googlemanagedprometheusexporter/generated_component_test.go +++ b/exporter/googlemanagedprometheusexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, } @@ -50,9 +50,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/googlemanagedprometheusexporter/go.mod b/exporter/googlemanagedprometheusexporter/go.mod index 91c54ce8a61d..58b9da0e8158 100644 --- a/exporter/googlemanagedprometheusexporter/go.mod +++ b/exporter/googlemanagedprometheusexporter/go.mod @@ -3,14 +3,16 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/google go 1.22.0 require ( - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1 - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.1 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.3 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) @@ -23,18 +25,19 @@ require ( cloud.google.com/go/longrunning v0.5.9 // indirect cloud.google.com/go/monitoring v1.20.2 // indirect cloud.google.com/go/trace v1.10.10 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.3 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.3 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect @@ -46,7 +49,7 @@ require ( github.com/hashicorp/go-version v1.7.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -56,15 +59,14 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/tidwall/gjson v1.10.2 // indirect @@ -76,75 +78,78 @@ require ( github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 // indirect + go.opentelemetry.io/collector/connector v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/otelcol v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/time v0.5.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/api v0.188.0 // indirect google.golang.org/genproto v0.0.0-20240708141625-4ad9e859172b // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/grpc/stats/opentelemetry v0.0.0-20240702152247-2da976983bbb // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/googlemanagedprometheusexporter/go.sum b/exporter/googlemanagedprometheusexporter/go.sum index a609c9327ecd..7c6ed35d5285 100644 --- a/exporter/googlemanagedprometheusexporter/go.sum +++ b/exporter/googlemanagedprometheusexporter/go.sum @@ -16,16 +16,16 @@ cloud.google.com/go/monitoring v1.20.2/go.mod h1:36rpg/7fdQ7NX5pG5x1FA7cXTVXusOp cloud.google.com/go/trace v1.10.10 h1:eiIFoRp1qTh2tRemTd8HIE7qZ0Ok5l7dl9pYsNWoXjk= cloud.google.com/go/trace v1.10.10/go.mod h1:5b1BiSYQO27KgGRevNFfoIQ8czwpVgnkKbTLb4wV+XM= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1 h1:55BCCek53ynaXLoMS8bdivu34TYZ4dnKzi4sOf7qtIU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.1/go.mod h1:n8ee0TUmtsXm2GUWL86jkrxc8mPGRLuTJg13M/iW6Q0= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.1 h1:u/of4NZ/0vK8c9Zjt6QLQtHjzjxKvplbrU8r1kLLYTk= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.1/go.mod h1:nolt+2xPwKxTH0sQ5SKrK0kKEvVq12N/+3r6vhAmPvw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1 h1:01bHLeqkrxYSkjvyTBEZ8rxBxDhWm1snWGEW73Te4lU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.1/go.mod h1:UFO9jC3njhKdD/ymLnaKi7Or5miVWq06LvRWQNFfnTU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.3 h1:GEnIFsGk3Rxu2NerB8neHLZzxIX2QnNceVByctRSCNA= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.48.3/go.mod h1:UGot0dwooP2NhcO6YrQLA9MlQ8NL7Ey5dkQnMF9YWEg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.3 h1:+/BWpxvkgFftMP8eMe0HtSQQqq3YtauMsrCkm9t2hsA= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector/googlemanagedprometheus v0.48.3/go.mod h1:LRzU5QbgRr3XPKhxtTi3JmZMErXrg53O9LGK6A85IHA= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.3 h1:0t8v1hFl4bfMxvAyeD+Nay9YeVTffUMf3U5LM/0dTIM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.24.3/go.mod h1:r8vUXZXWrNOUb+fF1iy1/KiK1lfR4bl4ebk6kOfPpY0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.3 h1:Nl7phYyHjnqofWDpD+6FYdiwtNIxebn0AHLry7Sxb0M= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.3/go.mod h1:pNP/L2wDlaQnQlFvkDKGSruDoYRpmAxB6drgsskfYwg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.3 h1:2vcVkrNdSMJpoOVAWi9ApsQR5iqNeFGt5Qx8Xlt3IoI= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.3/go.mod h1:wRbFgBQUVm1YXrvWKofAEmq9HNJTDphbAaJSSX01KUI= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -39,6 +39,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -54,8 +56,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -105,8 +107,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -132,30 +134,28 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -189,136 +189,144 @@ github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.1 h1:UiBhFP07YbZlv3fW2D/Xi0DrEMRGw2QB1DLV2JiJEis= -go.opentelemetry.io/collector/client v1.14.1/go.mod h1:a8A6aWydaeiItFzY0zlHO/Q6mLNnZsW0Y/iVxbJsO4A= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.1 h1:If0hRGyfDbC9Y80CYcLBKeSdY7BXcs98r7gPJlzH5uU= -go.opentelemetry.io/collector/config/configauth v0.108.1/go.mod h1:8P3fOkwwP7k09xaTKmu7MrMgTZmMXtWdUrJQgjhy3a4= -go.opentelemetry.io/collector/config/configcompression v1.14.1 h1:YiNlBSeyDaFWrDPFpMJ7y7XlWYMDV0bh8GwO9ukXNa8= -go.opentelemetry.io/collector/config/configcompression v1.14.1/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.1 h1:+KRFQfm0W2NHEtNMa1UuXvXvBX6B/2CTBvJk6Zi3Jhk= -go.opentelemetry.io/collector/config/confighttp v0.108.1/go.mod h1:iqdC0Gljy2U7HDX3a7pZlAH2EI3TNhFWyoVwc9R16XE= -go.opentelemetry.io/collector/config/configopaque v1.14.1 h1:5xAEa4ld+57xWKdU2gR5/6+rBa7LTCPfShJQFUxN0Zw= -go.opentelemetry.io/collector/config/configopaque v1.14.1/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.1 h1:cd5kNvLnIe+GVHUV6Fk6O5fkwS4at8dVCrFo7t0O8kE= -go.opentelemetry.io/collector/config/configtls v1.14.1/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.1 h1:Z/U8+UpvGT2DZ64/kp/nlosJgjCkhZ7MaEqQ3QHudyo= -go.opentelemetry.io/collector/config/internal v0.108.1/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.1 h1:h1kuC5Lvzxb3LcShUXdVHjh+PpqX/Kpd2ypNObwxH0s= -go.opentelemetry.io/collector/extension/auth v0.108.1/go.mod h1:QLvy/dJdiPEhUbkhqIythMoVnZxmvbzeA2Wnm4oZSgU= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1 h1:OH250Z/bXJTZjkeMwUERbLZiNPETlOxE3q4n536Kc4s= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1/go.mod h1:3QSnFvGq5jXXwSPi94x2ggBGPZxdtD0lxpPOpV3RZRc= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 h1:ZWEsXeCbNUP4GXRvlkVXBpqIH9rNtnk1knZDORo/7zA= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0/go.mod h1:76mYXizxjo8rcRsvyTuNtPykVuqmZWGcV6lGs7+++J8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 h1:529bKb9LBG8WJYxLJikl6/yUoJ+EB7BYkg3cagh/slI= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0/go.mod h1:GQgYpmD2rIGwSNd0Lz5tbVzuEyj9xdmqPN0xbkCYtts= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 h1:ZB2PoClyiXsIs6k7RxmpEtduWWjT01pQ8joXWiJ0kzo= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0/go.mod h1:q5RafpmzsbsAhs0PCz6jbMOl7XYkp0f2NYs4lxQbkOI= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 h1:vS1Ao/R55RNV4O7TA2Qopok8yN+X0LIP6RVWLFkprck= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0/go.mod h1:BMsdeOxN04K0L5FNUBfjFdvwWGNe/rkmSwH4Aelu/X0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= @@ -332,8 +340,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= @@ -351,11 +359,11 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -371,12 +379,12 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -402,17 +410,19 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20240708141625-4ad9e859172b h1:dSTjko30weBaMj3eERKc0ZVXW4GudCswM3m+P++ukU0= google.golang.org/genproto v0.0.0-20240708141625-4ad9e859172b/go.mod h1:FfBgJBJg9GcpPvKIuHSZ/aE1g2ecGL74upMzGZjiGEY= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240702152247-2da976983bbb h1:i2YAt03JpcWES+tSjXp3X3SvUdcVhwa07DJP8AqjLGQ= +google.golang.org/grpc/stats/opentelemetry v0.0.0-20240702152247-2da976983bbb/go.mod h1:4R1ubOs0qFA4h2ZP1CgEXfa7auTXBxA2xUh9o26WXu8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -422,8 +432,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/honeycombmarkerexporter/config.go b/exporter/honeycombmarkerexporter/config.go index 47b739f36120..f7e4b9facab0 100644 --- a/exporter/honeycombmarkerexporter/config.go +++ b/exporter/honeycombmarkerexporter/config.go @@ -28,9 +28,9 @@ type Config struct { // Markers is the list of markers to create Markers []Marker `mapstructure:"markers"` - confighttp.ClientConfig `mapstructure:",squash"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + confighttp.ClientConfig `mapstructure:",squash"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` } type Marker struct { diff --git a/exporter/honeycombmarkerexporter/config_test.go b/exporter/honeycombmarkerexporter/config_test.go index ac34ff3d6985..4a1a59611bd4 100644 --- a/exporter/honeycombmarkerexporter/config_test.go +++ b/exporter/honeycombmarkerexporter/config_test.go @@ -47,7 +47,7 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, "all_fields"), expected: &Config{ - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), APIKey: "test-apikey", APIURL: "https://api.testhost.io", diff --git a/exporter/honeycombmarkerexporter/factory.go b/exporter/honeycombmarkerexporter/factory.go index 42c05cb46f42..35276ce09b4b 100644 --- a/exporter/honeycombmarkerexporter/factory.go +++ b/exporter/honeycombmarkerexporter/factory.go @@ -39,12 +39,12 @@ func createLogsExporter( return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, logsExp.exportMarkers, - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cf.BackOffConfig), exporterhelper.WithQueue(cf.QueueSettings), exporterhelper.WithStart(logsExp.start), diff --git a/exporter/honeycombmarkerexporter/factory_test.go b/exporter/honeycombmarkerexporter/factory_test.go index ecd94a652fce..5354d7b29abb 100644 --- a/exporter/honeycombmarkerexporter/factory_test.go +++ b/exporter/honeycombmarkerexporter/factory_test.go @@ -22,13 +22,13 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestFactory_CreateLogsExporter(t *testing.T) { +func TestFactory_CreateLogs(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.APIURL = defaultURL }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateLogs(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) diff --git a/exporter/honeycombmarkerexporter/generated_component_test.go b/exporter/honeycombmarkerexporter/generated_component_test.go index c2010e3b7747..5974aae7f9f6 100644 --- a/exporter/honeycombmarkerexporter/generated_component_test.go +++ b/exporter/honeycombmarkerexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/honeycombmarkerexporter/go.mod b/exporter/honeycombmarkerexporter/go.mod index cb9054bc3af9..30eb85b76eff 100644 --- a/exporter/honeycombmarkerexporter/go.mod +++ b/exporter/honeycombmarkerexporter/go.mod @@ -3,28 +3,30 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeyc go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) +require go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect @@ -32,17 +34,18 @@ require ( github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -51,46 +54,41 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/honeycombmarkerexporter/go.sum b/exporter/honeycombmarkerexporter/go.sum index 4b01e54bc0fc..ba3832e033a8 100644 --- a/exporter/honeycombmarkerexporter/go.sum +++ b/exporter/honeycombmarkerexporter/go.sum @@ -4,12 +4,12 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -26,12 +26,16 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -39,8 +43,6 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= @@ -53,8 +55,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -65,8 +67,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -78,20 +78,12 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -102,74 +94,75 @@ github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZO github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -179,42 +172,59 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/honeycombmarkerexporter/logs_exporter_test.go b/exporter/honeycombmarkerexporter/logs_exporter_test.go index 22f48e8e8c68..403e43863a1b 100644 --- a/exporter/honeycombmarkerexporter/logs_exporter_test.go +++ b/exporter/honeycombmarkerexporter/logs_exporter_test.go @@ -8,7 +8,6 @@ import ( "encoding/json" "net/http" "net/http/httptest" - "strings" "testing" "github.com/stretchr/testify/assert" @@ -124,7 +123,7 @@ func TestExportMarkers(t *testing.T) { decodedBody := map[string]any{} err := json.NewDecoder(req.Body).Decode(&decodedBody) - require.NoError(t, err) + assert.NoError(t, err) assert.Equal(t, len(tt.attributeMap), len(decodedBody)) @@ -138,7 +137,7 @@ func TestExportMarkers(t *testing.T) { userAgent := req.Header.Get(userAgentHeaderKey) assert.NotEmpty(t, userAgent) - assert.True(t, strings.Contains(userAgent, "OpenTelemetry Collector")) + assert.Contains(t, userAgent, "OpenTelemetry Collector") rw.WriteHeader(http.StatusAccepted) })) @@ -148,7 +147,7 @@ func TestExportMarkers(t *testing.T) { config.APIURL = markerServer.URL f := NewFactory() - exp, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), &config) + exp, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), &config) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) @@ -236,7 +235,7 @@ func TestExportMarkers_Error(t *testing.T) { config.APIURL = markerServer.URL f := NewFactory() - exp, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), &config) + exp, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), &config) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) @@ -287,7 +286,7 @@ func TestExportMarkers_NoAPICall(t *testing.T) { config.APIURL = markerServer.URL f := NewFactory() - exp, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), &config) + exp, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), &config) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) diff --git a/exporter/influxdbexporter/config.go b/exporter/influxdbexporter/config.go index 53103640489b..33c40f4d3e59 100644 --- a/exporter/influxdbexporter/config.go +++ b/exporter/influxdbexporter/config.go @@ -28,9 +28,9 @@ type V1Compatibility struct { // Config defines configuration for the InfluxDB exporter. type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + confighttp.ClientConfig `mapstructure:",squash"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // Org is the InfluxDB organization name of the destination bucket. Org string `mapstructure:"org"` diff --git a/exporter/influxdbexporter/config_test.go b/exporter/influxdbexporter/config_test.go index baad494b6285..7bcb99dff6f6 100644 --- a/exporter/influxdbexporter/config_test.go +++ b/exporter/influxdbexporter/config_test.go @@ -43,7 +43,7 @@ func TestLoadConfig(t *testing.T) { Timeout: 500 * time.Millisecond, Headers: map[string]configopaque.String{"User-Agent": "OpenTelemetry -> Influx"}, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 3, QueueSize: 10, diff --git a/exporter/influxdbexporter/factory.go b/exporter/influxdbexporter/factory.go index 8fc61a8cf8a4..fabf1a5787c1 100644 --- a/exporter/influxdbexporter/factory.go +++ b/exporter/influxdbexporter/factory.go @@ -41,7 +41,7 @@ func createDefaultConfig() component.Config { "User-Agent": "OpenTelemetry -> Influx", }, }, - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), MetricsSchema: common.MetricsSchemaTelegrafPrometheusV1.String(), SpanDimensions: otel2influx.DefaultOtelTracesToLineProtocolConfig().SpanDimensions, @@ -76,7 +76,7 @@ func createTraceExporter( return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -111,7 +111,7 @@ func createMetricsExporter(ctx context.Context, set exporter.Settings, config co return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, @@ -141,7 +141,7 @@ func createLogsExporter(ctx context.Context, set exporter.Settings, config compo return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, diff --git a/exporter/influxdbexporter/generated_component_test.go b/exporter/influxdbexporter/generated_component_test.go index b18953d527a8..ce1bc38fad11 100644 --- a/exporter/influxdbexporter/generated_component_test.go +++ b/exporter/influxdbexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/influxdbexporter/generated_package_test.go b/exporter/influxdbexporter/generated_package_test.go index 6d80a169448f..f5807c6cd5ca 100644 --- a/exporter/influxdbexporter/generated_package_test.go +++ b/exporter/influxdbexporter/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start")) + goleak.VerifyTestMain(m) } diff --git a/exporter/influxdbexporter/go.mod b/exporter/influxdbexporter/go.mod index 058a633e2708..441daefe02e7 100644 --- a/exporter/influxdbexporter/go.mod +++ b/exporter/influxdbexporter/go.mod @@ -8,35 +8,33 @@ require ( github.com/influxdata/influxdb-observability/otel2influx v0.5.12 github.com/influxdata/line-protocol/v2 v2.2.1 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/frankban/quicktest v1.14.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -44,45 +42,40 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/influxdbexporter/go.sum b/exporter/influxdbexporter/go.sum index d100f2492fb4..5efac108adc7 100644 --- a/exporter/influxdbexporter/go.sum +++ b/exporter/influxdbexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -22,8 +18,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -36,8 +32,6 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/influxdata/influxdb-observability/common v0.5.12 h1:4YwZ+vsodz6VfoiX+ZqVotmnyCa9vCCPksSBK/WLjBs= github.com/influxdata/influxdb-observability/common v0.5.12/go.mod h1:u+CABnGO/F1IK51pDlZQroh4+igJNo695XrbLGDBhVc= github.com/influxdata/influxdb-observability/otel2influx v0.5.12 h1:t9gmVOOHbZyEAvIYSoO97Tde1KArVtiYdM0/0Dhmuio= @@ -53,8 +47,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -70,8 +64,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -81,22 +73,14 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -105,74 +89,74 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -190,20 +174,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -214,10 +198,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/exporter/influxdbexporter/metadata.yaml b/exporter/influxdbexporter/metadata.yaml index d5f7d2e2ed05..5791e7c8e4c2 100644 --- a/exporter/influxdbexporter/metadata.yaml +++ b/exporter/influxdbexporter/metadata.yaml @@ -10,8 +10,3 @@ status: tests: expect_consumer_error: true - goleak: - ignore: - top: - # See https://github.com/census-instrumentation/opencensus-go/issues/1191 for more information. - - "go.opencensus.io/stats/view.(*worker).start" \ No newline at end of file diff --git a/exporter/instanaexporter/README.md b/exporter/instanaexporter/README.md deleted file mode 100644 index 90b19a8e2cb9..000000000000 --- a/exporter/instanaexporter/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# Instana Exporter - - -| Status | | -| ------------- |-----------| -| Stability | [deprecated]: traces | -| Distributions | [contrib] | -| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Finstana%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Finstana) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Finstana%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Finstana) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling), [@hickeyma](https://www.github.com/hickeyma) | - -[deprecated]: https://github.com/open-telemetry/opentelemetry-collector#deprecated -[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib - - -The Instana Exporter converts OpenTelemetry trace data and then sends it to the [Instana Backend](https://www.ibm.com/docs/en/instana-observability/current?topic=setting-up-managing-instana). - -## Exporter Configuration - -The following exporter configuration parameters are supported. - - -| Parameter | Description | -|----------------|-------------| -| endpoint | The Instana backend endpoint that the Exporter connects to. It depends on your region and how it is hosted. It starts with ``https://serverless-`` for SaaS. Otherwise, it starts with ``https://``. It corresponds to the Instana environment variable ``INSTANA_ENDPOINT_URL`` | -| agent_key | Your Instana Agent key. The same agent key can be used for host agents and serverless monitoring. It corresponds to the Instana environment variable ``INSTANA_AGENT_KEY`` | -| tls/ca_file | [Optional] Certificate authority file for an Instana backend connection where the backend uses a self signed certificate. | - -> These parameters match the Instana Serverless Monitoring environment variables and can be found [here](https://www.ibm.com/docs/en/instana-observability/current?topic=references-environment-variables#serverless-monitoring). - - -### Sample Configuration - -The code snippet below shows how your configuration file should look like: - -```yaml -[...] - -exporters: - instana: - endpoint: ${env:INSTANA_ENDPOINT_URL} - agent_key: ${env:INSTANA_AGENT_KEY} - -[...] - -service: - pipelines: - traces: - exporters: [instana] - -[...] -``` - -### Full Example - -```yaml -receivers: - otlp: - protocols: - grpc: - http: - -processors: - batch: -exporters: - instana: - endpoint: ${env:INSTANA_ENDPOINT_URL} - agent_key: ${env:INSTANA_AGENT_KEY} - tls: - ca_file: someCA.pem # Optional. Certificate authority file for Instana backend connection. - -service: - pipelines: - traces: - receivers: [otlp] - processors: [batch] - exporters: [instana] -``` diff --git a/exporter/instanaexporter/config.go b/exporter/instanaexporter/config.go deleted file mode 100644 index 7a7c6c95aba0..000000000000 --- a/exporter/instanaexporter/config.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package instanaexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter" - -import ( - "errors" - "net/url" - "strings" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" -) - -// Config defines configuration for the Instana exporter -type Config struct { - Endpoint string `mapstructure:"endpoint"` - - AgentKey configopaque.String `mapstructure:"agent_key"` - - confighttp.ClientConfig `mapstructure:",squash"` -} - -var _ component.Config = (*Config)(nil) - -// Validate checks if the exporter configuration is valid -func (cfg *Config) Validate() error { - - if cfg.Endpoint == "" { - return errors.New("no Instana endpoint set") - } - - if cfg.AgentKey == "" { - return errors.New("no Instana agent key set") - } - - if !strings.HasPrefix(cfg.Endpoint, "https://") { - return errors.New("endpoint must start with https://") - } - _, err := url.Parse(cfg.Endpoint) - if err != nil { - return errors.New("endpoint must be a valid URL") - } - - return nil -} diff --git a/exporter/instanaexporter/config_test.go b/exporter/instanaexporter/config_test.go deleted file mode 100644 index 68074ccb8a2c..000000000000 --- a/exporter/instanaexporter/config_test.go +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package instanaexporter - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configtls" -) - -func TestConfigValidate(t *testing.T) { - t.Run("Empty configuration", func(t *testing.T) { - c := &Config{} - err := c.Validate() - assert.Error(t, err) - }) - - t.Run("Valid configuration", func(t *testing.T) { - c := &Config{Endpoint: "https://example.com/", AgentKey: "key1"} - err := c.Validate() - assert.NoError(t, err) - - assert.Equal(t, "https://example.com/", c.Endpoint, "no Instana endpoint set") - assert.Equal(t, "", c.TLSSetting.CAFile, "optional ca_file property not set") - }) - - t.Run("Valid configuration with ca_file", func(t *testing.T) { - c := &Config{Endpoint: "https://example.com/", AgentKey: "key1", ClientConfig: confighttp.ClientConfig{ - TLSSetting: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "ca.crt", - }, - }, - }} - err := c.Validate() - assert.NoError(t, err) - - assert.Equal(t, "https://example.com/", c.Endpoint, "no Instana endpoint set") - assert.Equal(t, "ca.crt", c.TLSSetting.CAFile, "optional ca_file property set") - }) - - t.Run("Invalid Endpoint Invalid URL", func(t *testing.T) { - c := &Config{Endpoint: "https://example.}~", AgentKey: "key1"} - err := c.Validate() - assert.Error(t, err) - }) - - t.Run("Invalid Endpoint No Protocol", func(t *testing.T) { - c := &Config{Endpoint: "example.com", AgentKey: "key1"} - err := c.Validate() - assert.Error(t, err) - }) - - t.Run("Invalid Endpoint No https:// Protocol", func(t *testing.T) { - c := &Config{Endpoint: "http://example.com", AgentKey: "key1"} - err := c.Validate() - assert.Error(t, err, "endpoint must start with https://") - }) - - t.Run("No Agent key", func(t *testing.T) { - c := &Config{Endpoint: "https://example.com/"} - err := c.Validate() - assert.Error(t, err) - }) -} diff --git a/exporter/instanaexporter/exporter.go b/exporter/instanaexporter/exporter.go deleted file mode 100644 index e670da66aefe..000000000000 --- a/exporter/instanaexporter/exporter.go +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package instanaexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter" - -import ( - "bytes" - "context" - "fmt" - "net/http" - "runtime" - "strings" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/consumer/consumererror" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/pdata/ptrace" - "go.uber.org/zap" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/backend" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" -) - -type instanaExporter struct { - config *Config - client *http.Client - settings component.TelemetrySettings - userAgent string -} - -func (e *instanaExporter) start(ctx context.Context, host component.Host) error { - client, err := e.config.ClientConfig.ToClient(ctx, host, e.settings) - if err != nil { - return err - } - e.client = client - return nil -} - -func (e *instanaExporter) pushConvertedTraces(ctx context.Context, td ptrace.Traces) error { - converter := converter.NewConvertAllConverter(e.settings.Logger) - var spans []model.Span - - hostID := "" - resourceSpans := td.ResourceSpans() - for i := 0; i < resourceSpans.Len(); i++ { - resSpan := resourceSpans.At(i) - - resource := resSpan.Resource() - - hostIDAttr, ok := resource.Attributes().Get(backend.AttributeInstanaHostID) - if ok { - hostID = hostIDAttr.Str() - } - - ilSpans := resSpan.ScopeSpans() - for j := 0; j < ilSpans.Len(); j++ { - converterBundle := converter.ConvertSpans(resource.Attributes(), ilSpans.At(j).Spans()) - - spans = append(spans, converterBundle.Spans...) - } - } - - bundle := model.Bundle{Spans: spans} - if len(bundle.Spans) == 0 { - // skip exporting, nothing to do - return nil - } - - req, err := bundle.Marshal() - if err != nil { - return consumererror.NewPermanent(err) - } - - headers := map[string]string{ - backend.HeaderKey: string(e.config.AgentKey), - backend.HeaderHost: hostID, - // Used only by the Instana agent and can be set to "0" for the exporter - backend.HeaderTime: "0", - } - - return e.export(ctx, e.config.Endpoint, headers, req) -} - -func newInstanaExporter(cfg component.Config, set exporter.Settings) *instanaExporter { - iCfg := cfg.(*Config) - userAgent := fmt.Sprintf("%s/%s (%s/%s)", set.BuildInfo.Description, set.BuildInfo.Version, runtime.GOOS, runtime.GOARCH) - return &instanaExporter{ - config: iCfg, - settings: set.TelemetrySettings, - userAgent: userAgent, - } -} - -func (e *instanaExporter) export(ctx context.Context, url string, header map[string]string, request []byte) error { - url = strings.TrimSuffix(url, "/") + "/bundle" - e.settings.Logger.Debug("Preparing to make HTTP request", zap.String("url", url)) - req, err := http.NewRequestWithContext(ctx, http.MethodPost, url, bytes.NewReader(request)) - if err != nil { - return consumererror.NewPermanent(err) - } - - req.Header.Set("Content-Type", "application/json") - req.Header.Set("User-Agent", e.userAgent) - - for name, value := range header { - req.Header.Set(name, value) - } - - resp, err := e.client.Do(req) - if err != nil { - return fmt.Errorf("failed to send a request: %w", err) - } - defer resp.Body.Close() - - if resp.StatusCode >= 400 && resp.StatusCode <= 499 { - return consumererror.NewPermanent(fmt.Errorf("error when sending payload to %s: %s", - url, resp.Status)) - } - if resp.StatusCode >= 500 && resp.StatusCode <= 599 { - return fmt.Errorf("error when sending payload to %s: %s", url, resp.Status) - } - - return nil -} diff --git a/exporter/instanaexporter/exporter_test.go b/exporter/instanaexporter/exporter_test.go deleted file mode 100644 index 011b75208beb..000000000000 --- a/exporter/instanaexporter/exporter_test.go +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package instanaexporter - -import ( - "context" - "encoding/base64" - "io" - "net/http" - "net/http/httptest" - "os" - "testing" - - "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/exporter/exportertest" - "go.opentelemetry.io/collector/pdata/ptrace" -) - -func TestPushConvertedTraces(t *testing.T) { - traceServer := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { - rw.WriteHeader(http.StatusAccepted) - })) - defer traceServer.Close() - - cfg := Config{ - AgentKey: "key11", - ClientConfig: confighttp.ClientConfig{Endpoint: traceServer.URL}, - Endpoint: traceServer.URL, - } - - instanaExporter := newInstanaExporter(&cfg, exportertest.NewNopSettings()) - ctx := context.Background() - err := instanaExporter.start(ctx, componenttest.NewNopHost()) - assert.NoError(t, err) - - err = instanaExporter.pushConvertedTraces(ctx, newTestTraces()) - assert.NoError(t, err) -} - -func newTestTraces() ptrace.Traces { - traces := ptrace.NewTraces() - rspans := traces.ResourceSpans().AppendEmpty() - rspans.Resource().Attributes().PutStr("instana.agent", "agent1") - span := rspans.ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.SetTraceID([16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4}) - span.SetSpanID([8]byte{0, 0, 0, 0, 1, 2, 3, 4}) - return traces -} - -func TestSelfSignedBackend(t *testing.T) { - var err error - caFile := "testdata/ca.crt" - handler := http.NewServeMux() - handler.HandleFunc("/bundle", func(w http.ResponseWriter, _ *http.Request) { - _, err = io.WriteString(w, "Hello from CA self signed server") - - if err != nil { - t.Fatal(err) - } - }) - - server := httptest.NewTLSServer(handler) - defer server.Close() - - s := base64.StdEncoding.EncodeToString(server.Certificate().Raw) - wholeCert := "-----BEGIN CERTIFICATE-----\n" + s + "\n-----END CERTIFICATE-----" - - err = os.WriteFile(caFile, []byte(wholeCert), os.FileMode(0600)) - defer func() { - assert.NoError(t, os.Remove(caFile)) - }() - - if err != nil { - t.Fatal(err) - } - - // Starts the exporter to test the HTTP client request - - cfg := Config{ - AgentKey: "key11", - ClientConfig: confighttp.ClientConfig{ - Endpoint: server.URL, - TLSSetting: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: caFile, - }, - }, - }, - Endpoint: server.URL, - } - - ctx := context.Background() - - instanaExporter := newInstanaExporter(&cfg, exportertest.NewNopSettings()) - err = instanaExporter.start(ctx, componenttest.NewNopHost()) - - if err != nil { - t.Fatal(err) - } - - assert.NoError(t, instanaExporter.export(ctx, server.URL, make(map[string]string), []byte{})) -} - -func TestSelfSignedBackendCAFileNotFound(t *testing.T) { - cfg := Config{ - AgentKey: "key11", - ClientConfig: confighttp.ClientConfig{ - Endpoint: "", - TLSSetting: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "ca_file_not_found.pem", - }, - }, - }, - Endpoint: "", - } - - ctx := context.Background() - - instanaExporter := newInstanaExporter(&cfg, exportertest.NewNopSettings()) - - assert.Error(t, instanaExporter.start(ctx, componenttest.NewNopHost()), "expect not to find the ca file") -} diff --git a/exporter/instanaexporter/factory.go b/exporter/instanaexporter/factory.go deleted file mode 100644 index 30c743e22bd4..000000000000 --- a/exporter/instanaexporter/factory.go +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -//go:generate mdatagen metadata.yaml - -package instanaexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter" - -import ( - "context" - "sync" - "time" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configretry" - "go.opentelemetry.io/collector/consumer" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/exporterhelper" - "go.uber.org/zap" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/metadata" -) - -var once sync.Once - -// NewFactory creates an Instana exporter factory -func NewFactory() exporter.Factory { - return exporter.NewFactory( - metadata.Type, - createDefaultConfig, - exporter.WithTraces(createTracesExporter, metadata.TracesStability), - ) -} - -// createDefaultConfig creates the default exporter configuration -func createDefaultConfig() component.Config { - return &Config{ - ClientConfig: confighttp.ClientConfig{ - Endpoint: "", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - WriteBufferSize: 512 * 1024, - }, - } -} - -func logDeprecation(logger *zap.Logger) { - once.Do(func() { - logger.Warn("instana exporter is deprecated and will be removed in the next release. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/34994 for more details.") - }) -} - -// createTracesExporter creates a trace exporter based on this configuration -func createTracesExporter(ctx context.Context, set exporter.Settings, config component.Config) (exporter.Traces, error) { - cfg := config.(*Config) - - ctx, cancel := context.WithCancel(ctx) - - instanaExporter := newInstanaExporter(cfg, set) - logDeprecation(set.Logger) - - return exporterhelper.NewTracesExporter( - ctx, - set, - config, - instanaExporter.pushConvertedTraces, - exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), - exporterhelper.WithStart(instanaExporter.start), - // Disable Timeout/RetryOnFailure and SendingQueue - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), - exporterhelper.WithRetry(configretry.BackOffConfig{Enabled: false}), - exporterhelper.WithQueue(exporterhelper.QueueSettings{Enabled: false}), - exporterhelper.WithShutdown(func(context.Context) error { - cancel() - return nil - }), - ) -} diff --git a/exporter/instanaexporter/factory_test.go b/exporter/instanaexporter/factory_test.go deleted file mode 100644 index e610e6498e40..000000000000 --- a/exporter/instanaexporter/factory_test.go +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package instanaexporter - -import ( - "path/filepath" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" - "go.opentelemetry.io/collector/config/configtls" - "go.opentelemetry.io/collector/confmap/confmaptest" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/metadata" -) - -// Test that the factory creates the default configuration -func TestCreateDefaultConfig(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - - assert.Equal(t, &Config{ - ClientConfig: confighttp.ClientConfig{ - Endpoint: "", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - WriteBufferSize: 512 * 1024, - }, - }, cfg, "failed to create default config") - - assert.NoError(t, componenttest.CheckConfigStruct(cfg)) -} - -// TestLoadConfig tests that the configuration is loaded correctly -func TestLoadConfig(t *testing.T) { - cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yml")) - require.NoError(t, err) - factory := NewFactory() - - t.Run("valid config", func(t *testing.T) { - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "valid").String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - err = component.ValidateConfig(cfg) - - require.NoError(t, err) - assert.Equal(t, &Config{ - ClientConfig: confighttp.ClientConfig{ - Endpoint: "https://example.com/api/", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - WriteBufferSize: 512 * 1024, - }, - Endpoint: "https://example.com/api/", - AgentKey: "key1", - }, cfg) - }) - - t.Run("valid config with ca_file", func(t *testing.T) { - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "valid_with_ca_file").String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - err = component.ValidateConfig(cfg) - - require.NoError(t, err) - assert.Equal(t, &Config{ - ClientConfig: confighttp.ClientConfig{ - Endpoint: "https://example.com/api/", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - WriteBufferSize: 512 * 1024, - TLSSetting: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "ca.crt", - }, - }, - }, - Endpoint: "https://example.com/api/", - AgentKey: "key1", - }, cfg) - }) - - t.Run("valid config without ca_file", func(t *testing.T) { - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "valid_no_ca_file").String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - err = component.ValidateConfig(cfg) - - require.NoError(t, err) - assert.Equal(t, &Config{ - ClientConfig: confighttp.ClientConfig{ - Endpoint: "https://example.com/api/", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - WriteBufferSize: 512 * 1024, - }, - Endpoint: "https://example.com/api/", - AgentKey: "key1", - }, cfg) - }) - - t.Run("bad endpoint", func(t *testing.T) { - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "bad_endpoint").String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - err = component.ValidateConfig(cfg) - require.Error(t, err) - }) - - t.Run("non https endpoint", func(t *testing.T) { - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "non_https_endpoint").String()) - - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - err = component.ValidateConfig(cfg) - require.Error(t, err) - }) - - t.Run("missing agent key", func(t *testing.T) { - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub(component.NewIDWithName(metadata.Type, "missing_agent_key").String()) - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(cfg)) - - err = component.ValidateConfig(cfg) - require.Error(t, err) - }) -} diff --git a/exporter/instanaexporter/generated_component_test.go b/exporter/instanaexporter/generated_component_test.go deleted file mode 100644 index 7ebab16c72fb..000000000000 --- a/exporter/instanaexporter/generated_component_test.go +++ /dev/null @@ -1,134 +0,0 @@ -// Code generated by mdatagen. DO NOT EDIT. - -package instanaexporter - -import ( - "context" - "testing" - "time" - - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/confmap/confmaptest" - "go.opentelemetry.io/collector/exporter" - "go.opentelemetry.io/collector/exporter/exportertest" - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/plog" - "go.opentelemetry.io/collector/pdata/pmetric" - "go.opentelemetry.io/collector/pdata/ptrace" -) - -func TestComponentFactoryType(t *testing.T) { - require.Equal(t, "instana", NewFactory().Type().String()) -} - -func TestComponentConfigStruct(t *testing.T) { - require.NoError(t, componenttest.CheckConfigStruct(NewFactory().CreateDefaultConfig())) -} - -func TestComponentLifecycle(t *testing.T) { - factory := NewFactory() - - tests := []struct { - name string - createFn func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) - }{ - - { - name: "traces", - createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) - }, - }, - } - - cm, err := confmaptest.LoadConf("metadata.yaml") - require.NoError(t, err) - cfg := factory.CreateDefaultConfig() - sub, err := cm.Sub("tests::config") - require.NoError(t, err) - require.NoError(t, sub.Unmarshal(&cfg)) - - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) - require.NoError(t, err) - err = c.Shutdown(context.Background()) - require.NoError(t, err) - }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) - require.NoError(t, err) - host := componenttest.NewNopHost() - err = c.Start(context.Background(), host) - require.NoError(t, err) - require.NotPanics(t, func() { - switch test.name { - case "logs": - e, ok := c.(exporter.Logs) - require.True(t, ok) - logs := generateLifecycleTestLogs() - if !e.Capabilities().MutatesData { - logs.MarkReadOnly() - } - err = e.ConsumeLogs(context.Background(), logs) - case "metrics": - e, ok := c.(exporter.Metrics) - require.True(t, ok) - metrics := generateLifecycleTestMetrics() - if !e.Capabilities().MutatesData { - metrics.MarkReadOnly() - } - err = e.ConsumeMetrics(context.Background(), metrics) - case "traces": - e, ok := c.(exporter.Traces) - require.True(t, ok) - traces := generateLifecycleTestTraces() - if !e.Capabilities().MutatesData { - traces.MarkReadOnly() - } - err = e.ConsumeTraces(context.Background(), traces) - } - }) - - err = c.Shutdown(context.Background()) - require.NoError(t, err) - }) - } -} - -func generateLifecycleTestLogs() plog.Logs { - logs := plog.NewLogs() - rl := logs.ResourceLogs().AppendEmpty() - rl.Resource().Attributes().PutStr("resource", "R1") - l := rl.ScopeLogs().AppendEmpty().LogRecords().AppendEmpty() - l.Body().SetStr("test log message") - l.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return logs -} - -func generateLifecycleTestMetrics() pmetric.Metrics { - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("resource", "R1") - m := rm.ScopeMetrics().AppendEmpty().Metrics().AppendEmpty() - m.SetName("test_metric") - dp := m.SetEmptyGauge().DataPoints().AppendEmpty() - dp.Attributes().PutStr("test_attr", "value_1") - dp.SetIntValue(123) - dp.SetTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return metrics -} - -func generateLifecycleTestTraces() ptrace.Traces { - traces := ptrace.NewTraces() - rs := traces.ResourceSpans().AppendEmpty() - rs.Resource().Attributes().PutStr("resource", "R1") - span := rs.ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutStr("test_attr", "value_1") - span.SetName("test_span") - span.SetStartTimestamp(pcommon.NewTimestampFromTime(time.Now().Add(-1 * time.Second))) - span.SetEndTimestamp(pcommon.NewTimestampFromTime(time.Now())) - return traces -} diff --git a/exporter/instanaexporter/go.mod b/exporter/instanaexporter/go.mod deleted file mode 100644 index d9c9277e9d1a..000000000000 --- a/exporter/instanaexporter/go.mod +++ /dev/null @@ -1,98 +0,0 @@ -// Deprecated: [v0.109.0] This package is deprecated and will be removed in the next release. -module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter - -go 1.22.0 - -require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.uber.org/goleak v1.3.0 - go.uber.org/zap v1.27.0 -) - -require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal - -retract ( - v0.76.2 - v0.76.1 - v0.65.0 -) - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest => ../../pkg/pdatatest - -replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden => ../../pkg/golden diff --git a/exporter/instanaexporter/go.sum b/exporter/instanaexporter/go.sum deleted file mode 100644 index e4a1eaeb3525..000000000000 --- a/exporter/instanaexporter/go.sum +++ /dev/null @@ -1,196 +0,0 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= -github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/exporter/instanaexporter/internal/backend/config.go b/exporter/instanaexporter/internal/backend/config.go deleted file mode 100644 index 45a63588fefb..000000000000 --- a/exporter/instanaexporter/internal/backend/config.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package backend // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/backend" - -const ( - // AttributeInstanaHostID can be used to distinguish multiple hosts' data - // being processed by a single collector (in a chained scenario) - AttributeInstanaHostID = "instana.host.id" - - HeaderKey = "x-instana-key" - HeaderHost = "x-instana-host" - HeaderTime = "x-instana-time" -) diff --git a/exporter/instanaexporter/internal/converter/all_converter.go b/exporter/instanaexporter/internal/converter/all_converter.go deleted file mode 100644 index e90ff5742113..000000000000 --- a/exporter/instanaexporter/internal/converter/all_converter.go +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package converter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter" - -import ( - "fmt" - - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" - "go.uber.org/zap" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" -) - -var _ Converter = (*ConvertAllConverter)(nil) - -type ConvertAllConverter struct { - converters []Converter - logger *zap.Logger -} - -func (c *ConvertAllConverter) AcceptsSpans(_ pcommon.Map, _ ptrace.SpanSlice) bool { - return true -} - -func (c *ConvertAllConverter) ConvertSpans(attributes pcommon.Map, spanSlice ptrace.SpanSlice) model.Bundle { - bundle := model.NewBundle() - - for i := 0; i < len(c.converters); i++ { - if !c.converters[i].AcceptsSpans(attributes, spanSlice) { - c.logger.Warn(fmt.Sprintf("Converter %q didn't accept spans", c.converters[i].Name())) - - continue - } - - converterBundle := c.converters[i].ConvertSpans(attributes, spanSlice) - if len(converterBundle.Spans) > 0 { - bundle.Spans = append(bundle.Spans, converterBundle.Spans...) - } - } - - return bundle -} - -func (c *ConvertAllConverter) Name() string { - return "ConvertAllConverter" -} - -func NewConvertAllConverter(logger *zap.Logger) Converter { - - return &ConvertAllConverter{ - converters: []Converter{ - &SpanConverter{logger: logger}, - }, - logger: logger, - } -} diff --git a/exporter/instanaexporter/internal/converter/converter.go b/exporter/instanaexporter/internal/converter/converter.go deleted file mode 100644 index 5fecf52be7f9..000000000000 --- a/exporter/instanaexporter/internal/converter/converter.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package converter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter" - -import ( - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" -) - -type Converter interface { - AcceptsSpans(attributes pcommon.Map, spanSlice ptrace.SpanSlice) bool - ConvertSpans(attributes pcommon.Map, spanSlice ptrace.SpanSlice) model.Bundle - Name() string -} diff --git a/exporter/instanaexporter/internal/converter/model/bundle.go b/exporter/instanaexporter/internal/converter/model/bundle.go deleted file mode 100644 index 52f6349bd557..000000000000 --- a/exporter/instanaexporter/internal/converter/model/bundle.go +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package model // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" - -import ( - "encoding/json" -) - -type Bundle struct { - Spans []Span `json:"spans,omitempty"` -} - -func NewBundle() Bundle { - return Bundle{ - Spans: []Span{}, - } -} - -func (b *Bundle) Marshal() ([]byte, error) { - json, err := json.Marshal(b) - if err != nil { - return nil, err - } - - return json, nil -} diff --git a/exporter/instanaexporter/internal/converter/model/span.go b/exporter/instanaexporter/internal/converter/model/span.go deleted file mode 100644 index d86034211080..000000000000 --- a/exporter/instanaexporter/internal/converter/model/span.go +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package model // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" - -import ( - "fmt" - "time" - - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" - - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" -) - -const ( - OtelSpanType = "otel" - - InstanaSpanKindServer = "server" - InstanaSpanKindClient = "client" - InstanaSpanKindProducer = "producer" - InstanaSpanKindConsumer = "consumer" - InstanaSpanKindInternal = "internal" - - InstanaDataError = "error" - InstanaDataErrorDetail = "error_detail" -) - -type BatchInfo struct { - Size int `json:"s"` -} - -type FromS struct { - EntityID string `json:"e"` - // Serverless agents fields - Hostless bool `json:"hl,omitempty"` - CloudProvider string `json:"cp,omitempty"` - // Host agent fields - HostID string `json:"h,omitempty"` -} - -type TraceReference struct { - TraceID string `json:"t"` - ParentID string `json:"p,omitempty"` -} - -type OTelSpanData struct { - Kind string `json:"kind"` - HasTraceParent bool `json:"tp,omitempty"` - ServiceName string `json:"service"` - Operation string `json:"operation"` - TraceState string `json:"trace_state,omitempty"` - Tags map[string]string `json:"tags,omitempty"` - Resource map[string]string `json:"resource,omitempty"` -} - -type Span struct { - TraceReference - - SpanID string `json:"s"` - LongTraceID string `json:"lt,omitempty"` - Timestamp uint64 `json:"ts"` - Duration uint64 `json:"d"` - Name string `json:"n"` - From *FromS `json:"f"` - Batch *BatchInfo `json:"b,omitempty"` - Ec int `json:"ec,omitempty"` - Synthetic bool `json:"sy,omitempty"` - CorrelationType string `json:"crtp,omitempty"` - CorrelationID string `json:"crid,omitempty"` - ForeignTrace bool `json:"tp,omitempty"` - Ancestor *TraceReference `json:"ia,omitempty"` - Data OTelSpanData `json:"data,omitempty"` -} - -func ConvertPDataSpanToInstanaSpan(fromS FromS, otelSpan ptrace.Span, serviceName string, attributes pcommon.Map) (Span, error) { - traceID := convertTraceID(otelSpan.TraceID()) - - instanaSpan := Span{ - Name: OtelSpanType, - TraceReference: TraceReference{}, - Timestamp: uint64(otelSpan.StartTimestamp()) / uint64(time.Millisecond), - Duration: (uint64(otelSpan.EndTimestamp()) - uint64(otelSpan.StartTimestamp())) / uint64(time.Millisecond), - Data: OTelSpanData{ - Tags: make(map[string]string), - Resource: make(map[string]string), - }, - From: &fromS, - } - - if len(traceID) != 32 { - return Span{}, fmt.Errorf("failed parsing span, length of TraceID should be 32, but got %d", len(traceID)) - } - - instanaSpan.TraceReference.TraceID = traceID[16:32] - instanaSpan.LongTraceID = traceID - - if !otelSpan.ParentSpanID().IsEmpty() { - instanaSpan.TraceReference.ParentID = convertSpanID(otelSpan.ParentSpanID()) - } - - instanaSpan.SpanID = convertSpanID(otelSpan.SpanID()) - - kind, isEntry := otelKindToInstanaKind(otelSpan.Kind()) - instanaSpan.Data.Kind = kind - - if !otelSpan.ParentSpanID().IsEmpty() && isEntry { - instanaSpan.Data.HasTraceParent = true - } - - instanaSpan.Data.ServiceName = serviceName - - instanaSpan.Data.Operation = otelSpan.Name() - - instanaSpan.Data.TraceState = otelSpan.TraceState().AsRaw() - - otelSpan.Attributes().Range(func(k string, v pcommon.Value) bool { - instanaSpan.Data.Tags[k] = v.AsString() - - return true - }) - - attributes.Range(func(k string, v pcommon.Value) bool { - instanaSpan.Data.Resource[k] = v.AsString() - - return true - }) - - errornous := false - if otelSpan.Status().Code() == ptrace.StatusCodeError { - errornous = true - instanaSpan.Data.Tags[InstanaDataError] = traceutil.StatusCodeStr(otelSpan.Status().Code()) - instanaSpan.Data.Tags[InstanaDataErrorDetail] = otelSpan.Status().Message() - } - - if errornous { - instanaSpan.Ec = 1 - } - - return instanaSpan, nil -} diff --git a/exporter/instanaexporter/internal/converter/model/util.go b/exporter/instanaexporter/internal/converter/model/util.go deleted file mode 100644 index 173fbbad7f64..000000000000 --- a/exporter/instanaexporter/internal/converter/model/util.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package model // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" - -import ( - "encoding/hex" - - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" -) - -func convertTraceID(traceID pcommon.TraceID) string { - return hex.EncodeToString(traceID[:]) -} - -func convertSpanID(spanID pcommon.SpanID) string { - return hex.EncodeToString(spanID[:]) -} - -func otelKindToInstanaKind(otelKind ptrace.SpanKind) (string, bool) { - switch otelKind { - case ptrace.SpanKindServer: - return InstanaSpanKindServer, true - case ptrace.SpanKindClient: - return InstanaSpanKindClient, false - case ptrace.SpanKindProducer: - return InstanaSpanKindProducer, false - case ptrace.SpanKindConsumer: - return InstanaSpanKindConsumer, true - case ptrace.SpanKindInternal: - return InstanaSpanKindInternal, false - default: - return "unknown", false - } -} diff --git a/exporter/instanaexporter/internal/converter/model/util_test.go b/exporter/instanaexporter/internal/converter/model/util_test.go deleted file mode 100644 index 87273014ceb6..000000000000 --- a/exporter/instanaexporter/internal/converter/model/util_test.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package model - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "go.opentelemetry.io/collector/pdata/pcommon" -) - -func TestCanConvertSpanID(t *testing.T) { - bytes := [8]byte{1, 2, 3, 4, 10, 11, 12, 13} - - assert.Equal(t, "010203040a0b0c0d", convertSpanID(pcommon.SpanID(bytes))) -} diff --git a/exporter/instanaexporter/internal/converter/span_converter.go b/exporter/instanaexporter/internal/converter/span_converter.go deleted file mode 100644 index 23eae39ec9e9..000000000000 --- a/exporter/instanaexporter/internal/converter/span_converter.go +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package converter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter" - -import ( - "fmt" - - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.8.0" - "go.uber.org/zap" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/backend" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" -) - -var _ Converter = (*SpanConverter)(nil) - -type SpanConverter struct { - logger *zap.Logger -} - -func (c *SpanConverter) AcceptsSpans(_ pcommon.Map, _ ptrace.SpanSlice) bool { - return true -} - -func (c *SpanConverter) ConvertSpans(attributes pcommon.Map, spanSlice ptrace.SpanSlice) model.Bundle { - bundle := model.NewBundle() - fromS := model.FromS{} - - hostIDValue, ex := attributes.Get(backend.AttributeInstanaHostID) - if !ex { - fromS.HostID = "unknown-host-id" - } else { - fromS.HostID = hostIDValue.AsString() - } - - processIDValue, ex := attributes.Get(conventions.AttributeProcessPID) - if !ex { - fromS.EntityID = "unknown-process-id" - } else { - fromS.EntityID = processIDValue.AsString() - } - - serviceName := "" - serviceNameValue, ex := attributes.Get(conventions.AttributeServiceName) - if ex { - serviceName = serviceNameValue.AsString() - } - - for i := 0; i < spanSlice.Len(); i++ { - otelSpan := spanSlice.At(i) - - instanaSpan, err := model.ConvertPDataSpanToInstanaSpan(fromS, otelSpan, serviceName, attributes) - if err != nil { - c.logger.Warn(fmt.Sprintf("Error converting Open Telemetry span to Instana span: %s", err.Error())) - continue - } - - bundle.Spans = append(bundle.Spans, instanaSpan) - } - - return bundle -} - -func (c *SpanConverter) Name() string { - return "SpanConverter" -} diff --git a/exporter/instanaexporter/internal/converter/span_converter_test.go b/exporter/instanaexporter/internal/converter/span_converter_test.go deleted file mode 100644 index 386cc0d29960..000000000000 --- a/exporter/instanaexporter/internal/converter/span_converter_test.go +++ /dev/null @@ -1,274 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package converter - -import ( - "bytes" - "crypto/rand" - "encoding/json" - "testing" - "time" - - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.8.0" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/backend" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/instanaexporter/internal/converter/model" -) - -type SpanOptions struct { - TraceID [16]byte - SpanID [8]byte - ParentID [8]byte - Error string - StartTimestamp time.Duration - EndTimestamp time.Duration -} - -func setupSpan(span ptrace.Span, opts SpanOptions) (err error) { - var empty16 [16]byte - var empty8 [8]byte - - now := time.Now().UnixMilli() - - traceID := opts.TraceID - spanID := opts.SpanID - parentID := opts.ParentID - startTime := opts.StartTimestamp - endTime := opts.EndTimestamp - - if bytes.Equal(traceID[:], empty16[:]) { - traceID, err = generateTraceID() - } - - if bytes.Equal(spanID[:], empty8[:]) { - spanID, err = generateSpanID() - } - - if startTime == time.Second*0 { - startTime = time.Duration(now) - } - - if endTime == time.Second*0 { - endTime = startTime + 1000 - } - - if opts.Error != "" { - span.Status().SetCode(ptrace.StatusCodeError) - span.Status().SetMessage(opts.Error) - } - - if !bytes.Equal(parentID[:], empty8[:]) { - span.SetParentSpanID(parentID) - } - - span.SetStartTimestamp(pcommon.Timestamp(startTime * 1e6)) - span.SetEndTimestamp(pcommon.Timestamp(endTime * 1e6)) - - span.SetSpanID(spanID) - span.SetKind(ptrace.SpanKindClient) - span.SetName("my_operation") - span.TraceState().FromRaw("") - span.SetTraceID(traceID) - - // adding attributes (tags in the instana side) - span.Attributes().PutBool("some_key", true) - return err -} - -func generateAttrs() pcommon.Map { - attrs := pcommon.NewMap() - attrs.PutBool("some_boolean_key", true) - attrs.PutStr("custom_attribute", "ok") - - // test non empty pid - attrs.PutStr(conventions.AttributeProcessPID, "1234") - - // test non empty service name - attrs.PutStr(conventions.AttributeServiceName, "myservice") - - // test non empty instana host id - attrs.PutStr(backend.AttributeInstanaHostID, "myhost1") - - attrs.PutBool("itistrue", true) - - return attrs -} - -func validateInstanaSpanBasics(sp model.Span, t *testing.T) { - if sp.SpanID == "" { - t.Error("expected span id not to be empty") - } - - if sp.TraceID == "" { - t.Error("expected trace id not to be empty") - } - - if sp.Name != "otel" { - t.Errorf("expected span name to be 'otel' but received '%v'", sp.Name) - } - - if sp.Timestamp <= 0 { - t.Errorf("expected timestamp to be provided but received %v", sp.Timestamp) - } - - if sp.Duration <= 0 { - t.Errorf("expected duration to be provided but received %v", sp.Duration) - } - - if sp.Data.ServiceName != "myservice" { - t.Errorf("expected span name to be 'myservice' but received '%v'", sp.Data.ServiceName) - } - - if len(sp.Data.Resource) == 0 { - t.Error("expected resource block not to be empty") - } - - if sp.Data.Resource[conventions.AttributeServiceName] != sp.Data.ServiceName { - t.Errorf("expected resource block to contain same name (%v) as span.Name (%v)", - sp.Data.Resource[conventions.AttributeServiceName], sp.Data.ServiceName) - } - -} - -func validateBundle(jsonData []byte, t *testing.T, fn func(model.Span, *testing.T)) { - var bundle model.Bundle - - err := json.Unmarshal(jsonData, &bundle) - - if err != nil { - t.Fatal(err) - } - - if len(bundle.Spans) == 0 { - t.Log("bundle contains no spans") - return - } - - for _, span := range bundle.Spans { - fn(span, t) - } -} - -func validateSpanError(sp model.Span, shouldHaveError bool, t *testing.T) { - if shouldHaveError { - if sp.Ec <= 0 { - t.Error("expected span to have errors (ec = 1)") - } - - if sp.Data.Tags[model.InstanaDataError] == "" { - t.Error("expected data.error to exist") - } - - if sp.Data.Tags[model.InstanaDataErrorDetail] == "" { - t.Error("expected data.error_detail to exist") - } - - return - } - - if sp.Ec > 0 { - t.Error("expected span not to have errors (ec = 0)") - } - - if sp.Data.Tags[model.InstanaDataError] != "" { - t.Error("expected data.error to be empty") - } - - if sp.Data.Tags[model.InstanaDataErrorDetail] != "" { - t.Error("expected data.error_detail to be empty") - } -} - -func TestSpanBasics(t *testing.T) { - spanSlice := ptrace.NewSpanSlice() - - sp1 := spanSlice.AppendEmpty() - - err := setupSpan(sp1, SpanOptions{}) - require.NoError(t, err) - - attrs := generateAttrs() - conv := SpanConverter{} - bundle := conv.ConvertSpans(attrs, spanSlice) - data, _ := json.MarshalIndent(bundle, "", " ") - - validateBundle(data, t, func(sp model.Span, t *testing.T) { - validateInstanaSpanBasics(sp, t) - validateSpanError(sp, false, t) - }) -} - -func TestSpanCorrelation(t *testing.T) { - spanSlice := ptrace.NewSpanSlice() - - sp1 := spanSlice.AppendEmpty() - err := setupSpan(sp1, SpanOptions{}) - require.NoError(t, err) - - sp2 := spanSlice.AppendEmpty() - err = setupSpan(sp2, SpanOptions{ - ParentID: sp1.SpanID(), - }) - require.NoError(t, err) - - sp3 := spanSlice.AppendEmpty() - err = setupSpan(sp3, SpanOptions{ - ParentID: sp2.SpanID(), - }) - require.NoError(t, err) - - sp4 := spanSlice.AppendEmpty() - require.NoError(t, setupSpan(sp4, SpanOptions{ - ParentID: sp1.SpanID(), - })) - - attrs := generateAttrs() - conv := SpanConverter{} - bundle := conv.ConvertSpans(attrs, spanSlice) - data, _ := json.MarshalIndent(bundle, "", " ") - - spanIDList := make(map[string]bool) - - validateBundle(data, t, func(sp model.Span, t *testing.T) { - validateInstanaSpanBasics(sp, t) - validateSpanError(sp, false, t) - - spanIDList[sp.SpanID] = true - - if sp.ParentID != "" && !spanIDList[sp.ParentID] { - t.Errorf("span %v expected to have parent id %v", sp.SpanID, sp.ParentID) - } - }) -} -func TestSpanWithError(t *testing.T) { - spanSlice := ptrace.NewSpanSlice() - - sp1 := spanSlice.AppendEmpty() - require.NoError(t, setupSpan(sp1, SpanOptions{ - Error: "some error", - })) - - attrs := generateAttrs() - conv := SpanConverter{} - bundle := conv.ConvertSpans(attrs, spanSlice) - data, _ := json.MarshalIndent(bundle, "", " ") - - validateBundle(data, t, func(sp model.Span, t *testing.T) { - validateInstanaSpanBasics(sp, t) - validateSpanError(sp, true, t) - }) -} - -func generateTraceID() (data [16]byte, err error) { - _, err = rand.Read(data[:]) - return data, err -} - -func generateSpanID() (data [8]byte, err error) { - _, err = rand.Read(data[:]) - return data, err -} diff --git a/exporter/instanaexporter/metadata.yaml b/exporter/instanaexporter/metadata.yaml deleted file mode 100644 index c979dad2ca99..000000000000 --- a/exporter/instanaexporter/metadata.yaml +++ /dev/null @@ -1,12 +0,0 @@ -type: instana - -status: - class: exporter - stability: - deprecated: [traces] - distributions: [contrib] - codeowners: - active: [jpkrohling, hickeyma] - -tests: - expect_consumer_error: true \ No newline at end of file diff --git a/exporter/instanaexporter/testdata/config.yml b/exporter/instanaexporter/testdata/config.yml deleted file mode 100644 index f4fbb355a13a..000000000000 --- a/exporter/instanaexporter/testdata/config.yml +++ /dev/null @@ -1,23 +0,0 @@ -instana/bad_endpoint: - endpoint: never a url - agent_key: key1 - tls: - ca_file: ca.crt -instana/missing_agent_key: - endpoint: https://example.com/api/ - tls: - ca_file: ca.crt -instana/valid: - endpoint: https://example.com/api/ - agent_key: key1 -instana/valid_with_ca_file: - endpoint: https://example.com/api/ - agent_key: key1 - tls: - ca_file: ca.crt -instana/valid_no_ca_file: - endpoint: https://example.com/api/ - agent_key: key1 -instana/non_https_endpoint: - endpoint: http://example.com/api/ - agent_key: key1 diff --git a/exporter/kafkaexporter/README.md b/exporter/kafkaexporter/README.md index c0ea3212cd9e..fc316e0494df 100644 --- a/exporter/kafkaexporter/README.md +++ b/exporter/kafkaexporter/README.md @@ -24,8 +24,8 @@ The following settings can be optionally configured: - `brokers` (default = localhost:9092): The list of kafka brokers. - `resolve_canonical_bootstrap_servers_only` (default = false): Whether to resolve then reverse-lookup broker IPs during startup. - `client_id` (default = "sarama"): The client ID to configure the Sarama Kafka client with. The client ID will be used for all produce requests. -- `topic` (default = otlp_spans for traces, otlp_metrics for metrics, otlp_logs for logs): The name of the kafka topic to export to. -- `topic_from_attribute` (default = ""): Specify the resource attribute whose value should be used as the message's topic. This option, when set, will take precedence over the default topic. If `topic_from_attribute` is not set, the message's topic will be set to the value of the configuration option `topic` instead. +- `topic` (default = otlp_spans for traces, otlp_metrics for metrics, otlp_logs for logs): The name of the default kafka topic to export to. See [Destination Topic](#destination-topic) below for more details. +- `topic_from_attribute` (default = ""): Specify the resource attribute whose value should be used as the message's topic. See [Destination Topic](#destination-topic) below for more details. - `encoding` (default = otlp_proto): The encoding of the traces sent to kafka. All available encodings: - `otlp_proto`: payload is Protobuf serialized from `ExportTraceServiceRequest` if set as a traces exporter or `ExportMetricsServiceRequest` for metrics or `ExportLogsServiceRequest` for logs. - `otlp_json`: payload is JSON serialized from `ExportTraceServiceRequest` if set as a traces exporter or `ExportMetricsServiceRequest` for metrics or `ExportLogsServiceRequest` for logs. @@ -105,3 +105,9 @@ exporters: - localhost:9092 protocol_version: 2.0.0 ``` + +## Destination Topic +The destination topic can be defined in a few different ways and takes priority in the following order: +1. When `topic_from_attribute` is configured, and the corresponding attribute is found on the ingested data, the value of this attribute is used. +2. If a prior component in the collector pipeline sets the topic on the context via the `topic.WithTopic` function (from the `github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic` package), the value set in the context is used. +3. Finally, the `topic` configuration is used as a default/fallback destination. diff --git a/exporter/kafkaexporter/config.go b/exporter/kafkaexporter/config.go index e1c433a268d8..09968dd6a7b7 100644 --- a/exporter/kafkaexporter/config.go +++ b/exporter/kafkaexporter/config.go @@ -17,9 +17,9 @@ import ( // Config defines configuration for Kafka exporter. type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // The list of kafka brokers (default localhost:9092) Brokers []string `mapstructure:"brokers"` diff --git a/exporter/kafkaexporter/config_test.go b/exporter/kafkaexporter/config_test.go index da2cebf8e808..d019a9dab62b 100644 --- a/exporter/kafkaexporter/config_test.go +++ b/exporter/kafkaexporter/config_test.go @@ -39,7 +39,7 @@ func TestLoadConfig(t *testing.T) { // intentionally left blank so we use default config }, expected: &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, BackOffConfig: configretry.BackOffConfig{ @@ -50,7 +50,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -95,7 +95,7 @@ func TestLoadConfig(t *testing.T) { } }, expected: &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, BackOffConfig: configretry.BackOffConfig{ @@ -106,7 +106,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -150,7 +150,7 @@ func TestLoadConfig(t *testing.T) { conf.ResolveCanonicalBootstrapServersOnly = true }, expected: &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, BackOffConfig: configretry.BackOffConfig{ @@ -161,7 +161,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/exporter/kafkaexporter/factory.go b/exporter/kafkaexporter/factory.go index 3334e3b268fc..851b0345e786 100644 --- a/exporter/kafkaexporter/factory.go +++ b/exporter/kafkaexporter/factory.go @@ -64,9 +64,9 @@ func NewFactory(options ...FactoryOption) exporter.Factory { func createDefaultConfig() component.Config { return &Config{ - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), Brokers: []string{defaultBroker}, ClientID: defaultClientID, // using an empty topic to track when it has not been set by user, default is based on traces or metrics. @@ -105,11 +105,8 @@ func (f *kafkaExporterFactory) createTracesExporter( if oCfg.Encoding == "otlp_json" { set.Logger.Info("otlp_json is considered experimental and should not be used in a production environment") } - exp, err := newTracesExporter(oCfg, set) - if err != nil { - return nil, err - } - return exporterhelper.NewTracesExporter( + exp := newTracesExporter(oCfg, set) + return exporterhelper.NewTraces( ctx, set, &oCfg, @@ -117,7 +114,7 @@ func (f *kafkaExporterFactory) createTracesExporter( exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), // Disable exporterhelper Timeout, because we cannot pass a Context to the Producer, // and will rely on the sarama Producer Timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(oCfg.BackOffConfig), exporterhelper.WithQueue(oCfg.QueueSettings), exporterhelper.WithStart(exp.start), @@ -136,11 +133,8 @@ func (f *kafkaExporterFactory) createMetricsExporter( if oCfg.Encoding == "otlp_json" { set.Logger.Info("otlp_json is considered experimental and should not be used in a production environment") } - exp, err := newMetricsExporter(oCfg, set) - if err != nil { - return nil, err - } - return exporterhelper.NewMetricsExporter( + exp := newMetricsExporter(oCfg, set) + return exporterhelper.NewMetrics( ctx, set, &oCfg, @@ -148,7 +142,7 @@ func (f *kafkaExporterFactory) createMetricsExporter( exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), // Disable exporterhelper Timeout, because we cannot pass a Context to the Producer, // and will rely on the sarama Producer Timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(oCfg.BackOffConfig), exporterhelper.WithQueue(oCfg.QueueSettings), exporterhelper.WithStart(exp.start), @@ -167,11 +161,8 @@ func (f *kafkaExporterFactory) createLogsExporter( if oCfg.Encoding == "otlp_json" { set.Logger.Info("otlp_json is considered experimental and should not be used in a production environment") } - exp, err := newLogsExporter(oCfg, set) - if err != nil { - return nil, err - } - return exporterhelper.NewLogsExporter( + exp := newLogsExporter(oCfg, set) + return exporterhelper.NewLogs( ctx, set, &oCfg, @@ -179,7 +170,7 @@ func (f *kafkaExporterFactory) createLogsExporter( exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), // Disable exporterhelper Timeout, because we cannot pass a Context to the Producer, // and will rely on the sarama Producer Timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(oCfg.BackOffConfig), exporterhelper.WithQueue(oCfg.QueueSettings), exporterhelper.WithStart(exp.start), diff --git a/exporter/kafkaexporter/factory_test.go b/exporter/kafkaexporter/factory_test.go index 55dce9c8505d..96fdfbd243e2 100644 --- a/exporter/kafkaexporter/factory_test.go +++ b/exporter/kafkaexporter/factory_test.go @@ -78,7 +78,7 @@ func TestCreateMetricExporter(t *testing.T) { t.Parallel() f := NewFactory() - exporter, err := f.CreateMetricsExporter( + exporter, err := f.CreateMetrics( context.Background(), exportertest.NewNopSettings(), tc.conf, @@ -143,7 +143,7 @@ func TestCreateLogExporter(t *testing.T) { t.Parallel() f := NewFactory() - exporter, err := f.CreateLogsExporter( + exporter, err := f.CreateLogs( context.Background(), exportertest.NewNopSettings(), tc.conf, @@ -208,7 +208,7 @@ func TestCreateTraceExporter(t *testing.T) { t.Parallel() f := NewFactory() - exporter, err := f.CreateTracesExporter( + exporter, err := f.CreateTraces( context.Background(), exportertest.NewNopSettings(), tc.conf, diff --git a/exporter/kafkaexporter/generated_component_test.go b/exporter/kafkaexporter/generated_component_test.go index 668d185318e4..40de95161619 100644 --- a/exporter/kafkaexporter/generated_component_test.go +++ b/exporter/kafkaexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/kafkaexporter/go.mod b/exporter/kafkaexporter/go.mod index 9a8a94559397..d790556227f6 100644 --- a/exporter/kafkaexporter/go.mod +++ b/exporter/kafkaexporter/go.mod @@ -6,33 +6,35 @@ require ( github.com/IBM/sarama v1.43.3 github.com/cenkalti/backoff/v4 v4.3.0 github.com/gogo/protobuf v1.3.2 - github.com/jaegertracing/jaeger v1.60.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.108.0 + github.com/jaegertracing/jaeger v1.62.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.112.0 github.com/openzipkin/zipkin-go v0.4.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pdata/testdata v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 ) require ( - github.com/apache/thrift v0.20.0 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/aws/aws-sdk-go v1.55.5 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/eapache/go-resiliency v1.7.0 // indirect @@ -41,7 +43,7 @@ require ( github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -54,7 +56,7 @@ require ( github.com/jcmturner/rpc/v2 v2.0.3 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.10 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -62,41 +64,35 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/crypto v0.26.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/crypto v0.28.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) @@ -106,6 +102,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal => ../../pkg/batchpersignal +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic => ../../pkg/kafka/topic + replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger => ../../pkg/translator/jaeger retract ( diff --git a/exporter/kafkaexporter/go.sum b/exporter/kafkaexporter/go.sum index df4ec00160fe..95df7324ddbb 100644 --- a/exporter/kafkaexporter/go.sum +++ b/exporter/kafkaexporter/go.sum @@ -1,11 +1,9 @@ github.com/IBM/sarama v1.43.3 h1:Yj6L2IaNvb2mRBop39N7mmJAHBVY3dTPncr3qGVkxPA= github.com/IBM/sarama v1.43.3/go.mod h1:FVIRaLrhK3Cla/9FfRF5X9Zua2KpS3SYIXxhac1H+FQ= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -29,8 +27,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -50,8 +48,8 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= @@ -72,8 +70,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.10 h1:oXAz+Vh0PMUvJczoi+flxpnBEPxoER1IaAnU/NMPtT0= +github.com/klauspost/compress v1.17.10/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -84,8 +82,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -95,8 +91,6 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= @@ -104,14 +98,6 @@ github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFu github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= @@ -135,58 +121,60 @@ github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gi github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -198,8 +186,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -212,8 +200,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -228,8 +216,8 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -238,8 +226,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -249,12 +237,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/kafkaexporter/jaeger_marshaler.go b/exporter/kafkaexporter/jaeger_marshaler.go index abc73c22f18a..d6d6beb643c3 100644 --- a/exporter/kafkaexporter/jaeger_marshaler.go +++ b/exporter/kafkaexporter/jaeger_marshaler.go @@ -22,10 +22,7 @@ type jaegerMarshaler struct { var _ TracesMarshaler = (*jaegerMarshaler)(nil) func (j jaegerMarshaler) Marshal(traces ptrace.Traces, topic string) ([]*sarama.ProducerMessage, error) { - batches, err := jaeger.ProtoFromTraces(traces) - if err != nil { - return nil, err - } + batches := jaeger.ProtoFromTraces(traces) var messages []*sarama.ProducerMessage var errs error diff --git a/exporter/kafkaexporter/jaeger_marshaler_test.go b/exporter/kafkaexporter/jaeger_marshaler_test.go index 81a310c4a353..ca4cd7e7440e 100644 --- a/exporter/kafkaexporter/jaeger_marshaler_test.go +++ b/exporter/kafkaexporter/jaeger_marshaler_test.go @@ -25,8 +25,7 @@ func TestJaegerMarshaler(t *testing.T) { span.SetEndTimestamp(pcommon.Timestamp(20)) span.SetTraceID([16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}) span.SetSpanID([8]byte{1, 2, 3, 4, 5, 6, 7, 8}) - batches, err := jaeger.ProtoFromTraces(td) - require.NoError(t, err) + batches := jaeger.ProtoFromTraces(td) batches[0].Spans[0].Process = batches[0].Process jaegerProtoBytes, err := batches[0].Spans[0].Marshal() diff --git a/exporter/kafkaexporter/kafka_exporter.go b/exporter/kafkaexporter/kafka_exporter.go index 5e57e5d63678..fe3130cecc9c 100644 --- a/exporter/kafkaexporter/kafka_exporter.go +++ b/exporter/kafkaexporter/kafka_exporter.go @@ -19,6 +19,7 @@ import ( "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic" ) var errUnrecognizedEncoding = fmt.Errorf("unrecognized encoding") @@ -40,8 +41,8 @@ func (ke kafkaErrors) Error() string { return fmt.Sprintf("Failed to deliver %d messages due to %s", ke.count, ke.err) } -func (e *kafkaTracesProducer) tracesPusher(_ context.Context, td ptrace.Traces) error { - messages, err := e.marshaler.Marshal(td, getTopic(&e.cfg, td.ResourceSpans())) +func (e *kafkaTracesProducer) tracesPusher(ctx context.Context, td ptrace.Traces) error { + messages, err := e.marshaler.Marshal(td, getTopic(ctx, &e.cfg, td.ResourceSpans())) if err != nil { return consumererror.NewPermanent(err) } @@ -65,7 +66,23 @@ func (e *kafkaTracesProducer) Close(context.Context) error { return e.producer.Close() } -func (e *kafkaTracesProducer) start(_ context.Context, _ component.Host) error { +func (e *kafkaTracesProducer) start(_ context.Context, host component.Host) error { + // extensions take precedence over internal encodings + if marshaler, errExt := loadEncodingExtension[ptrace.Marshaler]( + host, + e.cfg.Encoding, + ); errExt == nil { + e.marshaler = &tracesEncodingMarshaler{ + marshaler: *marshaler, + encoding: e.cfg.Encoding, + } + } + if marshaler, errInt := createTracesMarshaler(e.cfg); e.marshaler == nil && errInt == nil { + e.marshaler = marshaler + } + if e.marshaler == nil { + return errUnrecognizedEncoding + } producer, err := newSaramaProducer(e.cfg) if err != nil { return err @@ -82,8 +99,8 @@ type kafkaMetricsProducer struct { logger *zap.Logger } -func (e *kafkaMetricsProducer) metricsDataPusher(_ context.Context, md pmetric.Metrics) error { - messages, err := e.marshaler.Marshal(md, getTopic(&e.cfg, md.ResourceMetrics())) +func (e *kafkaMetricsProducer) metricsDataPusher(ctx context.Context, md pmetric.Metrics) error { + messages, err := e.marshaler.Marshal(md, getTopic(ctx, &e.cfg, md.ResourceMetrics())) if err != nil { return consumererror.NewPermanent(err) } @@ -107,7 +124,23 @@ func (e *kafkaMetricsProducer) Close(context.Context) error { return e.producer.Close() } -func (e *kafkaMetricsProducer) start(_ context.Context, _ component.Host) error { +func (e *kafkaMetricsProducer) start(_ context.Context, host component.Host) error { + // extensions take precedence over internal encodings + if marshaler, errExt := loadEncodingExtension[pmetric.Marshaler]( + host, + e.cfg.Encoding, + ); errExt == nil { + e.marshaler = &metricsEncodingMarshaler{ + marshaler: *marshaler, + encoding: e.cfg.Encoding, + } + } + if marshaler, errInt := createMetricMarshaler(e.cfg); e.marshaler == nil && errInt == nil { + e.marshaler = marshaler + } + if e.marshaler == nil { + return errUnrecognizedEncoding + } producer, err := newSaramaProducer(e.cfg) if err != nil { return err @@ -124,8 +157,8 @@ type kafkaLogsProducer struct { logger *zap.Logger } -func (e *kafkaLogsProducer) logsDataPusher(_ context.Context, ld plog.Logs) error { - messages, err := e.marshaler.Marshal(ld, getTopic(&e.cfg, ld.ResourceLogs())) +func (e *kafkaLogsProducer) logsDataPusher(ctx context.Context, ld plog.Logs) error { + messages, err := e.marshaler.Marshal(ld, getTopic(ctx, &e.cfg, ld.ResourceLogs())) if err != nil { return consumererror.NewPermanent(err) } @@ -149,7 +182,23 @@ func (e *kafkaLogsProducer) Close(context.Context) error { return e.producer.Close() } -func (e *kafkaLogsProducer) start(_ context.Context, _ component.Host) error { +func (e *kafkaLogsProducer) start(_ context.Context, host component.Host) error { + // extensions take precedence over internal encodings + if marshaler, errExt := loadEncodingExtension[plog.Marshaler]( + host, + e.cfg.Encoding, + ); errExt == nil { + e.marshaler = &logsEncodingMarshaler{ + marshaler: *marshaler, + encoding: e.cfg.Encoding, + } + } + if marshaler, errInt := createLogMarshaler(e.cfg); e.marshaler == nil && errInt == nil { + e.marshaler = marshaler + } + if e.marshaler == nil { + return errUnrecognizedEncoding + } producer, err := newSaramaProducer(e.cfg) if err != nil { return err @@ -168,7 +217,7 @@ func newSaramaProducer(config Config) (sarama.SyncProducer, error) { c.Producer.Return.Errors = true c.Producer.RequiredAcks = config.Producer.RequiredAcks // Because sarama does not accept a Context for every message, set the Timeout here. - c.Producer.Timeout = config.Timeout + c.Producer.Timeout = config.TimeoutSettings.Timeout c.Metadata.Full = config.Metadata.Full c.Metadata.Retry.Max = config.Metadata.Retry.Max c.Metadata.Retry.Backoff = config.Metadata.Retry.Backoff @@ -204,50 +253,26 @@ func newSaramaProducer(config Config) (sarama.SyncProducer, error) { return producer, nil } -func newMetricsExporter(config Config, set exporter.Settings) (*kafkaMetricsProducer, error) { - marshaler, err := createMetricMarshaler(config) - if err != nil { - return nil, err - } - - if marshaler == nil { - return nil, errUnrecognizedEncoding - } - +func newMetricsExporter(config Config, set exporter.Settings) *kafkaMetricsProducer { return &kafkaMetricsProducer{ - cfg: config, - marshaler: marshaler, - logger: set.Logger, - }, nil - + cfg: config, + logger: set.Logger, + } } // newTracesExporter creates Kafka exporter. -func newTracesExporter(config Config, set exporter.Settings) (*kafkaTracesProducer, error) { - marshaler, err := createTracesMarshaler(config) - if err != nil { - return nil, err - } - +func newTracesExporter(config Config, set exporter.Settings) *kafkaTracesProducer { return &kafkaTracesProducer{ - cfg: config, - marshaler: marshaler, - logger: set.Logger, - }, nil -} - -func newLogsExporter(config Config, set exporter.Settings) (*kafkaLogsProducer, error) { - marshaler, err := createLogMarshaler(config) - if err != nil { - return nil, err + cfg: config, + logger: set.Logger, } +} +func newLogsExporter(config Config, set exporter.Settings) *kafkaLogsProducer { return &kafkaLogsProducer{ - cfg: config, - marshaler: marshaler, - logger: set.Logger, - }, nil - + cfg: config, + logger: set.Logger, + } } type resourceSlice[T any] interface { @@ -259,15 +284,45 @@ type resource interface { Resource() pcommon.Resource } -func getTopic[T resource](cfg *Config, resources resourceSlice[T]) string { - if cfg.TopicFromAttribute == "" { - return cfg.Topic - } - for i := 0; i < resources.Len(); i++ { - rv, ok := resources.At(i).Resource().Attributes().Get(cfg.TopicFromAttribute) - if ok && rv.Str() != "" { - return rv.Str() +func getTopic[T resource](ctx context.Context, cfg *Config, resources resourceSlice[T]) string { + if cfg.TopicFromAttribute != "" { + for i := 0; i < resources.Len(); i++ { + rv, ok := resources.At(i).Resource().Attributes().Get(cfg.TopicFromAttribute) + if ok && rv.Str() != "" { + return rv.Str() + } } } + contextTopic, ok := topic.FromContext(ctx) + if ok { + return contextTopic + } return cfg.Topic } + +// loadEncodingExtension tries to load an available extension for the given encoding. +func loadEncodingExtension[T any](host component.Host, encoding string) (*T, error) { + extensionID, err := encodingToComponentID(encoding) + if err != nil { + return nil, err + } + encodingExtension, ok := host.GetExtensions()[*extensionID] + if !ok { + return nil, fmt.Errorf("unknown encoding extension %q", encoding) + } + unmarshaler, ok := encodingExtension.(T) + if !ok { + return nil, fmt.Errorf("extension %q is not an unmarshaler", encoding) + } + return &unmarshaler, nil +} + +// encodingToComponentID converts an encoding string to a component ID using the given encoding as type. +func encodingToComponentID(encoding string) (*component.ID, error) { + componentType, err := component.NewType(encoding) + if err != nil { + return nil, fmt.Errorf("invalid component type: %w", err) + } + id := component.NewID(componentType) + return &id, nil +} diff --git a/exporter/kafkaexporter/kafka_exporter_test.go b/exporter/kafkaexporter/kafka_exporter_test.go index aff1fdb1fcea..c229b2829890 100644 --- a/exporter/kafkaexporter/kafka_exporter_test.go +++ b/exporter/kafkaexporter/kafka_exporter_test.go @@ -12,6 +12,7 @@ import ( "github.com/IBM/sarama/mocks" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/configtls" "go.opentelemetry.io/collector/exporter/exportertest" @@ -22,65 +23,91 @@ import ( "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic" ) func TestNewExporter_err_version(t *testing.T) { c := Config{ProtocolVersion: "0.0.0", Encoding: defaultEncoding} - texp, err := newTracesExporter(c, exportertest.NewNopSettings()) - require.NoError(t, err) - err = texp.start(context.Background(), componenttest.NewNopHost()) + texp := newTracesExporter(c, exportertest.NewNopSettings()) + err := texp.start(context.Background(), componenttest.NewNopHost()) assert.Error(t, err) } func TestNewExporter_err_encoding(t *testing.T) { c := Config{Encoding: "foo"} - texp, err := newTracesExporter(c, exportertest.NewNopSettings()) + texp := newTracesExporter(c, exportertest.NewNopSettings()) + assert.NotNil(t, texp) + err := texp.start(context.Background(), componenttest.NewNopHost()) assert.EqualError(t, err, errUnrecognizedEncoding.Error()) - assert.Nil(t, texp) } func TestNewMetricsExporter_err_version(t *testing.T) { c := Config{ProtocolVersion: "0.0.0", Encoding: defaultEncoding} - mexp, err := newMetricsExporter(c, exportertest.NewNopSettings()) - require.NoError(t, err) - err = mexp.start(context.Background(), componenttest.NewNopHost()) + mexp := newMetricsExporter(c, exportertest.NewNopSettings()) + err := mexp.start(context.Background(), componenttest.NewNopHost()) assert.Error(t, err) } func TestNewMetricsExporter_err_encoding(t *testing.T) { c := Config{Encoding: "bar"} - mexp, err := newMetricsExporter(c, exportertest.NewNopSettings()) + mexp := newMetricsExporter(c, exportertest.NewNopSettings()) + assert.NotNil(t, mexp) + err := mexp.start(context.Background(), componenttest.NewNopHost()) assert.EqualError(t, err, errUnrecognizedEncoding.Error()) - assert.Nil(t, mexp) } func TestNewMetricsExporter_err_traces_encoding(t *testing.T) { c := Config{Encoding: "jaeger_proto"} - mexp, err := newMetricsExporter(c, exportertest.NewNopSettings()) + mexp := newMetricsExporter(c, exportertest.NewNopSettings()) + assert.NotNil(t, mexp) + err := mexp.start(context.Background(), componenttest.NewNopHost()) assert.EqualError(t, err, errUnrecognizedEncoding.Error()) - assert.Nil(t, mexp) +} + +func TestMetricsExporter_encoding_extension(t *testing.T) { + c := Config{ + Encoding: "metrics_encoding", + } + texp := newMetricsExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, texp) + err := texp.start(context.Background(), &testComponentHost{}) + assert.Error(t, err) + assert.NotContains(t, err.Error(), errUnrecognizedEncoding.Error()) } func TestNewLogsExporter_err_version(t *testing.T) { c := Config{ProtocolVersion: "0.0.0", Encoding: defaultEncoding} - lexp, err := newLogsExporter(c, exportertest.NewNopSettings()) - require.NoError(t, err) - err = lexp.start(context.Background(), componenttest.NewNopHost()) + lexp := newLogsExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, lexp) + err := lexp.start(context.Background(), componenttest.NewNopHost()) assert.Error(t, err) } func TestNewLogsExporter_err_encoding(t *testing.T) { c := Config{Encoding: "bar"} - mexp, err := newLogsExporter(c, exportertest.NewNopSettings()) + lexp := newLogsExporter(c, exportertest.NewNopSettings()) + assert.NotNil(t, lexp) + err := lexp.start(context.Background(), componenttest.NewNopHost()) assert.EqualError(t, err, errUnrecognizedEncoding.Error()) - assert.Nil(t, mexp) } func TestNewLogsExporter_err_traces_encoding(t *testing.T) { c := Config{Encoding: "jaeger_proto"} - mexp, err := newLogsExporter(c, exportertest.NewNopSettings()) + lexp := newLogsExporter(c, exportertest.NewNopSettings()) + assert.NotNil(t, lexp) + err := lexp.start(context.Background(), componenttest.NewNopHost()) assert.EqualError(t, err, errUnrecognizedEncoding.Error()) - assert.Nil(t, mexp) +} + +func TestLogsExporter_encoding_extension(t *testing.T) { + c := Config{ + Encoding: "logs_encoding", + } + texp := newLogsExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, texp) + err := texp.start(context.Background(), &testComponentHost{}) + assert.Error(t, err) + assert.NotContains(t, err.Error(), errUnrecognizedEncoding.Error()) } func TestNewExporter_err_auth_type(t *testing.T) { @@ -101,21 +128,18 @@ func TestNewExporter_err_auth_type(t *testing.T) { Compression: "none", }, } - texp, err := newTracesExporter(c, exportertest.NewNopSettings()) - require.NoError(t, err) - err = texp.start(context.Background(), componenttest.NewNopHost()) - assert.Error(t, err) - assert.Contains(t, err.Error(), "failed to load TLS config") - mexp, err := newMetricsExporter(c, exportertest.NewNopSettings()) - require.NoError(t, err) + texp := newTracesExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, texp) + err := texp.start(context.Background(), componenttest.NewNopHost()) + assert.ErrorContains(t, err, "failed to load TLS config") + mexp := newMetricsExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, mexp) err = mexp.start(context.Background(), componenttest.NewNopHost()) - assert.Error(t, err) - assert.Contains(t, err.Error(), "failed to load TLS config") - lexp, err := newLogsExporter(c, exportertest.NewNopSettings()) - require.NoError(t, err) + assert.ErrorContains(t, err, "failed to load TLS config") + lexp := newLogsExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, lexp) err = lexp.start(context.Background(), componenttest.NewNopHost()) - assert.Error(t, err) - assert.Contains(t, err.Error(), "failed to load TLS config") + assert.ErrorContains(t, err, "failed to load TLS config") } @@ -126,11 +150,22 @@ func TestNewExporter_err_compression(t *testing.T) { Compression: "idk", }, } - texp, err := newTracesExporter(c, exportertest.NewNopSettings()) - require.NoError(t, err) - err = texp.start(context.Background(), componenttest.NewNopHost()) + texp := newTracesExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, texp) + err := texp.start(context.Background(), componenttest.NewNopHost()) assert.Error(t, err) - assert.Contains(t, err.Error(), "producer.compression should be one of 'none', 'gzip', 'snappy', 'lz4', or 'zstd'. configured value idk") + assert.ErrorContains(t, err, "producer.compression should be one of 'none', 'gzip', 'snappy', 'lz4', or 'zstd'. configured value idk") +} + +func TestTracesExporter_encoding_extension(t *testing.T) { + c := Config{ + Encoding: "traces_encoding", + } + texp := newTracesExporter(c, exportertest.NewNopSettings()) + require.NotNil(t, texp) + err := texp.start(context.Background(), &testComponentHost{}) + assert.Error(t, err) + assert.NotContains(t, err.Error(), errUnrecognizedEncoding.Error()) } func TestTracesPusher(t *testing.T) { @@ -168,6 +203,22 @@ func TestTracesPusher_attr(t *testing.T) { require.NoError(t, err) } +func TestTracesPusher_ctx(t *testing.T) { + c := sarama.NewConfig() + producer := mocks.NewSyncProducer(t, c) + producer.ExpectSendMessageAndSucceed() + + p := kafkaTracesProducer{ + producer: producer, + marshaler: newPdataTracesMarshaler(&ptrace.ProtoMarshaler{}, defaultEncoding, false), + } + t.Cleanup(func() { + require.NoError(t, p.Close(context.Background())) + }) + err := p.tracesPusher(topic.WithTopic(context.Background(), "my_topic"), testdata.GenerateTraces(2)) + require.NoError(t, err) +} + func TestTracesPusher_err(t *testing.T) { c := sarama.NewConfig() producer := mocks.NewSyncProducer(t, c) @@ -195,8 +246,7 @@ func TestTracesPusher_marshal_error(t *testing.T) { } td := testdata.GenerateTraces(2) err := p.tracesPusher(context.Background(), td) - require.Error(t, err) - assert.Contains(t, err.Error(), expErr.Error()) + assert.ErrorContains(t, err, expErr.Error()) } func TestMetricsDataPusher(t *testing.T) { @@ -234,6 +284,22 @@ func TestMetricsDataPusher_attr(t *testing.T) { require.NoError(t, err) } +func TestMetricsDataPusher_ctx(t *testing.T) { + c := sarama.NewConfig() + producer := mocks.NewSyncProducer(t, c) + producer.ExpectSendMessageAndSucceed() + + p := kafkaMetricsProducer{ + producer: producer, + marshaler: newPdataMetricsMarshaler(&pmetric.ProtoMarshaler{}, defaultEncoding, false), + } + t.Cleanup(func() { + require.NoError(t, p.Close(context.Background())) + }) + err := p.metricsDataPusher(topic.WithTopic(context.Background(), "my_topic"), testdata.GenerateMetrics(2)) + require.NoError(t, err) +} + func TestMetricsDataPusher_err(t *testing.T) { c := sarama.NewConfig() producer := mocks.NewSyncProducer(t, c) @@ -261,8 +327,7 @@ func TestMetricsDataPusher_marshal_error(t *testing.T) { } md := testdata.GenerateMetrics(2) err := p.metricsDataPusher(context.Background(), md) - require.Error(t, err) - assert.Contains(t, err.Error(), expErr.Error()) + assert.ErrorContains(t, err, expErr.Error()) } func TestLogsDataPusher(t *testing.T) { @@ -300,6 +365,22 @@ func TestLogsDataPusher_attr(t *testing.T) { require.NoError(t, err) } +func TestLogsDataPusher_ctx(t *testing.T) { + c := sarama.NewConfig() + producer := mocks.NewSyncProducer(t, c) + producer.ExpectSendMessageAndSucceed() + + p := kafkaLogsProducer{ + producer: producer, + marshaler: newPdataLogsMarshaler(&plog.ProtoMarshaler{}, defaultEncoding, false), + } + t.Cleanup(func() { + require.NoError(t, p.Close(context.Background())) + }) + err := p.logsDataPusher(topic.WithTopic(context.Background(), "my_topic"), testdata.GenerateLogs(1)) + require.NoError(t, err) +} + func TestLogsDataPusher_err(t *testing.T) { c := sarama.NewConfig() producer := mocks.NewSyncProducer(t, c) @@ -327,8 +408,7 @@ func TestLogsDataPusher_marshal_error(t *testing.T) { } ld := testdata.GenerateLogs(1) err := p.logsDataPusher(context.Background(), ld) - require.Error(t, err) - assert.Contains(t, err.Error(), expErr.Error()) + assert.ErrorContains(t, err, expErr.Error()) } type tracesErrorMarshaler struct { @@ -373,6 +453,7 @@ func Test_GetTopic(t *testing.T) { tests := []struct { name string cfg Config + ctx context.Context resource any wantTopic string }{ @@ -382,6 +463,7 @@ func Test_GetTopic(t *testing.T) { TopicFromAttribute: "resource-attr", Topic: "defaultTopic", }, + ctx: topic.WithTopic(context.Background(), "context-topic"), resource: testdata.GenerateMetrics(1).ResourceMetrics(), wantTopic: "resource-attr-val-1", }, @@ -391,6 +473,7 @@ func Test_GetTopic(t *testing.T) { TopicFromAttribute: "resource-attr", Topic: "defaultTopic", }, + ctx: topic.WithTopic(context.Background(), "context-topic"), resource: testdata.GenerateTraces(1).ResourceSpans(), wantTopic: "resource-attr-val-1", }, @@ -400,6 +483,7 @@ func Test_GetTopic(t *testing.T) { TopicFromAttribute: "resource-attr", Topic: "defaultTopic", }, + ctx: topic.WithTopic(context.Background(), "context-topic"), resource: testdata.GenerateLogs(1).ResourceLogs(), wantTopic: "resource-attr-val-1", }, @@ -409,14 +493,58 @@ func Test_GetTopic(t *testing.T) { TopicFromAttribute: "nonexistent_attribute", Topic: "defaultTopic", }, + ctx: context.Background(), + resource: testdata.GenerateMetrics(1).ResourceMetrics(), + wantTopic: "defaultTopic", + }, + + { + name: "Valid metric context, return topic name", + cfg: Config{ + TopicFromAttribute: "nonexistent_attribute", + Topic: "defaultTopic", + }, + ctx: topic.WithTopic(context.Background(), "context-topic"), + resource: testdata.GenerateMetrics(1).ResourceMetrics(), + wantTopic: "context-topic", + }, + { + name: "Valid trace context, return topic name", + cfg: Config{ + TopicFromAttribute: "nonexistent_attribute", + Topic: "defaultTopic", + }, + ctx: topic.WithTopic(context.Background(), "context-topic"), + resource: testdata.GenerateTraces(1).ResourceSpans(), + wantTopic: "context-topic", + }, + { + name: "Valid log context, return topic name", + cfg: Config{ + TopicFromAttribute: "nonexistent_attribute", + Topic: "defaultTopic", + }, + ctx: topic.WithTopic(context.Background(), "context-topic"), + resource: testdata.GenerateLogs(1).ResourceLogs(), + wantTopic: "context-topic", + }, + + { + name: "Attribute not found", + cfg: Config{ + TopicFromAttribute: "nonexistent_attribute", + Topic: "defaultTopic", + }, + ctx: context.Background(), resource: testdata.GenerateMetrics(1).ResourceMetrics(), wantTopic: "defaultTopic", }, { - name: "TopicFromAttribute not set, return default topic", + name: "TopicFromAttribute, return default topic", cfg: Config{ Topic: "defaultTopic", }, + ctx: context.Background(), resource: testdata.GenerateMetrics(1).ResourceMetrics(), wantTopic: "defaultTopic", }, @@ -427,13 +555,74 @@ func Test_GetTopic(t *testing.T) { topic := "" switch r := tests[i].resource.(type) { case pmetric.ResourceMetricsSlice: - topic = getTopic(&tests[i].cfg, r) + topic = getTopic(tests[i].ctx, &tests[i].cfg, r) case ptrace.ResourceSpansSlice: - topic = getTopic(&tests[i].cfg, r) + topic = getTopic(tests[i].ctx, &tests[i].cfg, r) case plog.ResourceLogsSlice: - topic = getTopic(&tests[i].cfg, r) + topic = getTopic(tests[i].ctx, &tests[i].cfg, r) } assert.Equal(t, tests[i].wantTopic, topic) }) } } + +func TestLoadEncodingExtension_logs(t *testing.T) { + extension, err := loadEncodingExtension[plog.Marshaler](&testComponentHost{}, "logs_encoding") + require.NoError(t, err) + require.NotNil(t, extension) +} + +func TestLoadEncodingExtension_notfound_error(t *testing.T) { + extension, err := loadEncodingExtension[plog.Marshaler](&testComponentHost{}, "logs_notfound") + require.Error(t, err) + require.Nil(t, extension) +} + +func TestLoadEncodingExtension_nomarshaler_error(t *testing.T) { + extension, err := loadEncodingExtension[plog.Marshaler](&testComponentHost{}, "logs_nomarshaler") + require.Error(t, err) + require.Nil(t, extension) +} + +type testComponentHost struct{} + +func (h *testComponentHost) GetExtensions() map[component.ID]component.Component { + return map[component.ID]component.Component{ + component.MustNewID("logs_encoding"): &nopComponent{}, + component.MustNewID("logs_nomarshaler"): &nopNoMarshalerComponent{}, + component.MustNewID("metrics_encoding"): &nopComponent{}, + component.MustNewID("traces_encoding"): &nopComponent{}, + } +} + +type nopComponent struct{} + +func (c *nopComponent) Start(_ context.Context, _ component.Host) error { + return nil +} + +func (c *nopComponent) Shutdown(_ context.Context) error { + return nil +} + +func (c *nopComponent) MarshalLogs(_ plog.Logs) ([]byte, error) { + return []byte{}, nil +} + +func (c *nopComponent) MarshalMetrics(_ pmetric.Metrics) ([]byte, error) { + return []byte{}, nil +} + +func (c *nopComponent) MarshalTraces(_ ptrace.Traces) ([]byte, error) { + return []byte{}, nil +} + +type nopNoMarshalerComponent struct{} + +func (c *nopNoMarshalerComponent) Start(_ context.Context, _ component.Host) error { + return nil +} + +func (c *nopNoMarshalerComponent) Shutdown(_ context.Context) error { + return nil +} diff --git a/exporter/kafkaexporter/marshaler.go b/exporter/kafkaexporter/marshaler.go index 89b4bcc3893c..f76bf98f3869 100644 --- a/exporter/kafkaexporter/marshaler.go +++ b/exporter/kafkaexporter/marshaler.go @@ -4,6 +4,8 @@ package kafkaexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter" import ( + "fmt" + "github.com/IBM/sarama" "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" @@ -97,3 +99,72 @@ func createLogMarshaler(config Config) (LogsMarshaler, error) { return nil, errUnrecognizedEncoding } } + +// tracesEncodingMarshaler is a wrapper around ptrace.Marshaler that implements TracesMarshaler. +type tracesEncodingMarshaler struct { + marshaler ptrace.Marshaler + encoding string +} + +func (t *tracesEncodingMarshaler) Marshal(traces ptrace.Traces, topic string) ([]*sarama.ProducerMessage, error) { + var messages []*sarama.ProducerMessage + data, err := t.marshaler.MarshalTraces(traces) + if err != nil { + return nil, fmt.Errorf("failed to marshal traces: %w", err) + } + messages = append(messages, &sarama.ProducerMessage{ + Topic: topic, + Value: sarama.ByteEncoder(data), + }) + return messages, nil +} + +func (t *tracesEncodingMarshaler) Encoding() string { + return t.encoding +} + +// metricsEncodingMarshaler is a wrapper around pmetric.Marshaler that implements MetricsMarshaler. +type metricsEncodingMarshaler struct { + marshaler pmetric.Marshaler + encoding string +} + +func (m *metricsEncodingMarshaler) Marshal(metrics pmetric.Metrics, topic string) ([]*sarama.ProducerMessage, error) { + var messages []*sarama.ProducerMessage + data, err := m.marshaler.MarshalMetrics(metrics) + if err != nil { + return nil, fmt.Errorf("failed to marshal metrics: %w", err) + } + messages = append(messages, &sarama.ProducerMessage{ + Topic: topic, + Value: sarama.ByteEncoder(data), + }) + return messages, nil +} + +func (m *metricsEncodingMarshaler) Encoding() string { + return m.encoding +} + +// logsEncodingMarshaler is a wrapper around plog.Marshaler that implements LogsMarshaler. +type logsEncodingMarshaler struct { + marshaler plog.Marshaler + encoding string +} + +func (l *logsEncodingMarshaler) Marshal(logs plog.Logs, topic string) ([]*sarama.ProducerMessage, error) { + var messages []*sarama.ProducerMessage + data, err := l.marshaler.MarshalLogs(logs) + if err != nil { + return nil, fmt.Errorf("failed to marshal logs: %w", err) + } + messages = append(messages, &sarama.ProducerMessage{ + Topic: topic, + Value: sarama.ByteEncoder(data), + }) + return messages, nil +} + +func (l *logsEncodingMarshaler) Encoding() string { + return l.encoding +} diff --git a/exporter/kafkaexporter/marshaler_test.go b/exporter/kafkaexporter/marshaler_test.go index a2ea4cd32f0b..ff1ecc6435dc 100644 --- a/exporter/kafkaexporter/marshaler_test.go +++ b/exporter/kafkaexporter/marshaler_test.go @@ -461,7 +461,7 @@ func TestOTLPTracesJsonMarshaling(t *testing.T) { Encoding: test.encoding, PartitionTracesByID: test.partitionTracesByID, }) - require.NoError(t, err, fmt.Sprintf("Must have %s marshaler", test.encoding)) + require.NoErrorf(t, err, "Must have %s marshaler", test.encoding) msg, err := marshaler.Marshal(traces, t.Name()) require.NoError(t, err, "Must have marshaled the data without error") @@ -481,3 +481,93 @@ func TestOTLPTracesJsonMarshaling(t *testing.T) { } } } + +func TestTracesEncodingMarshaler(t *testing.T) { + m := &tracesEncodingMarshaler{ + marshaler: &nopComponent{}, + encoding: "trace_encoding", + } + assert.Equal(t, "trace_encoding", m.Encoding()) + data, err := m.Marshal(ptrace.NewTraces(), "topic") + assert.NoError(t, err) + assert.Len(t, data, 1) +} + +type encodingTracesErrorMarshaler struct { + err error +} + +func (m *encodingTracesErrorMarshaler) MarshalTraces(_ ptrace.Traces) ([]byte, error) { + return nil, m.err +} + +func TestTracesEncodingMarshaler_error(t *testing.T) { + expErr := fmt.Errorf("failed to marshal") + m := &tracesEncodingMarshaler{ + marshaler: &encodingTracesErrorMarshaler{err: expErr}, + encoding: "trace_encoding", + } + data, err := m.Marshal(ptrace.NewTraces(), "topic") + assert.Error(t, err) + assert.Nil(t, data) +} + +func TestMetricsEncodingMarshaler(t *testing.T) { + m := &metricsEncodingMarshaler{ + marshaler: &nopComponent{}, + encoding: "metric_encoding", + } + assert.Equal(t, "metric_encoding", m.Encoding()) + data, err := m.Marshal(pmetric.NewMetrics(), "topic") + assert.NoError(t, err) + assert.Len(t, data, 1) +} + +type encodingMetricsErrorMarshaler struct { + err error +} + +func (m *encodingMetricsErrorMarshaler) MarshalMetrics(_ pmetric.Metrics) ([]byte, error) { + return nil, m.err +} + +func TestMetricsEncodingMarshaler_error(t *testing.T) { + expErr := fmt.Errorf("failed to marshal") + m := &metricsEncodingMarshaler{ + marshaler: &encodingMetricsErrorMarshaler{err: expErr}, + encoding: "metrics_encoding", + } + data, err := m.Marshal(pmetric.NewMetrics(), "topic") + assert.Error(t, err) + assert.Nil(t, data) +} + +func TestLogsEncodingMarshaler(t *testing.T) { + m := &logsEncodingMarshaler{ + marshaler: &nopComponent{}, + encoding: "log_encoding", + } + assert.Equal(t, "log_encoding", m.Encoding()) + data, err := m.Marshal(plog.NewLogs(), "topic") + assert.NoError(t, err) + assert.Len(t, data, 1) +} + +type encodingLogsErrorMarshaler struct { + err error +} + +func (m *encodingLogsErrorMarshaler) MarshalLogs(_ plog.Logs) ([]byte, error) { + return nil, m.err +} + +func TestLogsEncodingMarshaler_error(t *testing.T) { + expErr := fmt.Errorf("failed to marshal") + m := &logsEncodingMarshaler{ + marshaler: &encodingLogsErrorMarshaler{err: expErr}, + encoding: "logs_encoding", + } + data, err := m.Marshal(plog.NewLogs(), "topic") + assert.Error(t, err) + assert.Nil(t, data) +} diff --git a/exporter/kineticaexporter/exporter_metric_test.go b/exporter/kineticaexporter/exporter_metric_test.go index 3f8682adea0d..029cf01ea0a7 100644 --- a/exporter/kineticaexporter/exporter_metric_test.go +++ b/exporter/kineticaexporter/exporter_metric_test.go @@ -34,8 +34,6 @@ func TestExporter_pushMetricsData(t *testing.T) { t.Run("push success", func(t *testing.T) { exporter := newTestMetricsExporter(t) mustPushMetricsData(t, exporter, simpleMetrics(3)) - - require.Equal(t, 15, 15) }) } diff --git a/exporter/kineticaexporter/factory.go b/exporter/kineticaexporter/factory.go index f3d978ecf20f..cc7fd4513f6d 100644 --- a/exporter/kineticaexporter/factory.go +++ b/exporter/kineticaexporter/factory.go @@ -55,7 +55,7 @@ func createLogsExporter( exporter := newLogsExporter(set.Logger, cf) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, @@ -79,7 +79,7 @@ func createTracesExporter(ctx context.Context, cf := cfg.(*Config) exporter := newTracesExporter(set.Logger, cf) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -102,7 +102,7 @@ func createMetricsExporter(ctx context.Context, cf := cfg.(*Config) exporter := newMetricsExporter(set.Logger, cf) - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, diff --git a/exporter/kineticaexporter/factory_test.go b/exporter/kineticaexporter/factory_test.go index 5659265e9396..14a899ee954e 100644 --- a/exporter/kineticaexporter/factory_test.go +++ b/exporter/kineticaexporter/factory_test.go @@ -20,39 +20,39 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestFactory_CreateLogsExporter(t *testing.T) { +func TestFactory_CreateLogs(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Host = defaultHost }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateLogs(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.TODO())) } -func TestFactory_CreateTracesExporter(t *testing.T) { +func TestFactory_CreateTraces(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Host = defaultHost }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.TODO())) } -func TestFactory_CreateMetricsExporter(t *testing.T) { +func TestFactory_CreateMetrics(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Host = defaultHost }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateMetricsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateMetrics(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) diff --git a/exporter/kineticaexporter/generated_component_test.go b/exporter/kineticaexporter/generated_component_test.go index 34a57b0b044e..fdf9949535d7 100644 --- a/exporter/kineticaexporter/generated_component_test.go +++ b/exporter/kineticaexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/kineticaexporter/go.mod b/exporter/kineticaexporter/go.mod index e1a4f32b1bda..0f39996b8dc8 100644 --- a/exporter/kineticaexporter/go.mod +++ b/exporter/kineticaexporter/go.mod @@ -8,11 +8,12 @@ require ( github.com/samber/lo v1.47.0 github.com/stretchr/testify v1.9.0 github.com/wk8/go-ordered-map/v2 v2.1.8 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 @@ -20,20 +21,17 @@ require ( require ( github.com/bahlo/generic-list-go v0.2.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-resty/resty/v2 v2.12.0 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/hamba/avro/v2 v2.25.1 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -43,37 +41,33 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/ztrue/tracerr v0.4.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/text v0.17.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/exporter/kineticaexporter/go.sum b/exporter/kineticaexporter/go.sum index c33b844285c5..c5d92498a2f7 100644 --- a/exporter/kineticaexporter/go.sum +++ b/exporter/kineticaexporter/go.sum @@ -1,13 +1,9 @@ github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -19,8 +15,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-resty/resty/v2 v2.12.0 h1:rsVL8P90LFvkUYq/V5BTVe203WfRIU4gvcf+yfzJzGA= github.com/go-resty/resty/v2 v2.12.0/go.mod h1:o0yGPrkS3lOe1+eFajk6kBW8ScXzwU3hD69/gt2yB/0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -39,8 +35,6 @@ github.com/kineticadb/kinetica-api-go v0.0.5 h1:JxQGO3r4PaLkJm2WZgBQZpUS6N/VPjwk github.com/kineticadb/kinetica-api-go v0.0.5/go.mod h1:0HXY/DHZ3mhRc8N248RkRCRo0vyJ5/ZSFdKCxn7UxJg= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -51,8 +45,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -66,21 +58,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc= github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -94,54 +76,56 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/ztrue/tracerr v0.4.0 h1:vT5PFxwIGs7rCg9ZgJ/y0NmOpJkPCPFK8x0vVIYzd04= github.com/ztrue/tracerr v0.4.0/go.mod h1:PaFfYlas0DfmXNpo7Eay4MFhZUONqvXM+T2HyGPpngk= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -186,8 +170,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -216,10 +200,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/loadbalancingexporter/README.md b/exporter/loadbalancingexporter/README.md index b0fba78842d3..b50485b742d4 100644 --- a/exporter/loadbalancingexporter/README.md +++ b/exporter/loadbalancingexporter/README.md @@ -5,13 +5,14 @@ | ------------- |-----------| | Stability | [development]: metrics | | | [beta]: traces, logs | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Floadbalancing%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Floadbalancing) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Floadbalancing%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Floadbalancing) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling) | [development]: https://github.com/open-telemetry/opentelemetry-collector#development [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s This is an exporter that will consistently export spans, metrics and logs depending on the `routing_key` configured. diff --git a/exporter/loadbalancingexporter/factory_test.go b/exporter/loadbalancingexporter/factory_test.go index a223e22cf807..974b13d04bdb 100644 --- a/exporter/loadbalancingexporter/factory_test.go +++ b/exporter/loadbalancingexporter/factory_test.go @@ -22,7 +22,7 @@ func TestTracesExporterGetsCreatedWithValidConfiguration(t *testing.T) { } // test - exp, err := factory.CreateTracesExporter(context.Background(), creationParams, cfg) + exp, err := factory.CreateTraces(context.Background(), creationParams, cfg) // verify assert.NoError(t, err) @@ -40,7 +40,7 @@ func TestLogExporterGetsCreatedWithValidConfiguration(t *testing.T) { } // test - exp, err := factory.CreateLogsExporter(context.Background(), creationParams, cfg) + exp, err := factory.CreateLogs(context.Background(), creationParams, cfg) // verify assert.NoError(t, err) diff --git a/exporter/loadbalancingexporter/generated_component_test.go b/exporter/loadbalancingexporter/generated_component_test.go index 8eb0b4e46e21..7e349cca3fb9 100644 --- a/exporter/loadbalancingexporter/generated_component_test.go +++ b/exporter/loadbalancingexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/loadbalancingexporter/go.mod b/exporter/loadbalancingexporter/go.mod index 255fe2190107..819e820d82b4 100644 --- a/exporter/loadbalancingexporter/go.mod +++ b/exporter/loadbalancingexporter/go.mod @@ -3,56 +3,58 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadba go 1.22.0 require ( - github.com/aws/aws-sdk-go-v2/config v1.27.31 - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.5 - github.com/aws/smithy-go v1.20.4 + github.com/aws/aws-sdk-go-v2/config v1.28.1 + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.3 + github.com/aws/smithy-go v1.22.0 github.com/json-iterator/go v1.1.12 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0 + go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.31.0 - k8s.io/apimachinery v0.31.0 - k8s.io/client-go v0.31.0 + k8s.io/api v0.31.2 + k8s.io/apimachinery v0.31.2 + k8s.io/client-go v0.31.2 k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 - sigs.k8s.io/controller-runtime v0.19.0 + sigs.k8s.io/controller-runtime v0.19.1 ) require ( - github.com/aws/aws-sdk-go-v2 v1.30.4 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.30 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect + github.com/aws/aws-sdk-go-v2 v1.32.3 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.42 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect @@ -63,7 +65,7 @@ require ( github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.22.4 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect @@ -76,7 +78,7 @@ require ( github.com/imdario/mergo v0.3.6 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -88,85 +90,89 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/config v0.9.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 // indirect - go.opentelemetry.io/otel/log v0.5.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.5.0 // indirect + go.opentelemetry.io/collector v0.112.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.112.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 // indirect + go.opentelemetry.io/collector/connector v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/otelcol v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/service v0.112.0 // indirect + go.opentelemetry.io/contrib/config v0.10.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.53.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect + go.opentelemetry.io/otel/log v0.7.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect go.opentelemetry.io/proto/otlp v1.3.1 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/time v0.4.0 // indirect gonum.org/v1/gonum v0.15.1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/exporter/loadbalancingexporter/go.sum b/exporter/loadbalancingexporter/go.sum index 585408a2cd1d..311c17311da5 100644 --- a/exporter/loadbalancingexporter/go.sum +++ b/exporter/loadbalancingexporter/go.sum @@ -1,31 +1,31 @@ -github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8= -github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= -github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI= -github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs= +github.com/aws/aws-sdk-go-v2 v1.32.3 h1:T0dRlFBKcdaUPGNtkBSwHZxrtis8CQU17UpNBZYd0wk= +github.com/aws/aws-sdk-go-v2 v1.32.3/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo= +github.com/aws/aws-sdk-go-v2/config v1.28.1 h1:oxIvOUXy8x0U3fR//0eq+RdCKimWI900+SV+10xsCBw= +github.com/aws/aws-sdk-go-v2/config v1.28.1/go.mod h1:bRQcttQJiARbd5JZxw6wG0yIK3eLeSCPdg6uqmmlIiI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42 h1:sBP0RPjBU4neGpIYyx8mkU2QqLPl5u9cmdTWVzIpHkM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42/go.mod h1:FwZBfU530dJ26rv9saAbxa9Ej3eF/AK0OAY86k13n4M= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 h1:68jFVtt3NulEzojFesM/WVarlFpCaXLKaBxDpzkQ9OQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18/go.mod h1:Fjnn5jQVIo6VyedMc0/EhPpfNlPl7dHV916O6B+49aE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 h1:Jw50LwEkVjuVzE1NzkhNKkBf9cRN7MtE1F/b2cOKTUM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22/go.mod h1:Y/SmAyPcOTmpeVaWSzSKiILfXTVJwrGmYZhcRbhWuEY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 h1:981MHwBaRZM7+9QSR6XamDzF/o7ouUGxFzr+nVSIhrs= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22/go.mod h1:1RA1+aBEfn+CAB/Mh0MB6LsdCYCnjZm7tKXtnk499ZQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.5 h1:z7nPig/pFU+TAAKouI51pCVQPEeQHZC2mZXSK+g0Av8= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.31.5/go.mod h1:5autx6GwAtQVv8S/qTwBKfxzAAwe8hOlzVuTtLdliVw= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 h1:qcxX0JYlgWH3hpPUnd6U0ikcl6LLA9sLkXE2w1fpMvY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3/go.mod h1:cLSNEmI45soc+Ef8K/L+8sEA3A3pYFEYf5B5UI+6bH4= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.3 h1:DvwIm9gI5EXOOQ9nbFw9kd9BtSFhOxwTQpeSAhbB5RU= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.3/go.mod h1:DHlHkIDRA1/JZM1KMSbfGnVox8fJxQ6XLkaTAj+TgFI= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 h1:UTpsIf0loCIWEbrqdLb+0RxnTXfWh2vhw4nQmFi4nPc= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3/go.mod h1:FZ9j3PFHHAR+w0BSEjK955w5YD2UwB/l/H0yAK3MJvI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 h1:2YCmIXv3tmiItw0LlYf6v7gEHebLY45kBEnPezbUKyU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3/go.mod h1:u19stRyNPxGhj6dRm+Cdgu6N75qnbW7+QN0q0dsAk58= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 h1:wVnQ6tigGsRqSWDEEyH6lSAJ9OyFUsSnbaUWChuSGzs= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3/go.mod h1:VZa9yTFyj4o10YGsmDO4gbQJUvvhY72fhumT8W4LqsE= +github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= +github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -38,6 +38,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= @@ -66,8 +68,8 @@ github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogB github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= @@ -101,8 +103,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -139,6 +141,8 @@ github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -146,25 +150,21 @@ 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/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -188,142 +188,154 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.1 h1:+KRFQfm0W2NHEtNMa1UuXvXvBX6B/2CTBvJk6Zi3Jhk= -go.opentelemetry.io/collector/config/confighttp v0.108.1/go.mod h1:iqdC0Gljy2U7HDX3a7pZlAH2EI3TNhFWyoVwc9R16XE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:qeNinovst0Qnh6OC8F1lz8Ya58vxivDjla74y4/7hVg= -go.opentelemetry.io/collector/confmap/provider/envprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1LFEe1dy5EuSPOq2nUmodFo3JnJOme5+TxtsPPLgfRA= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:f4xObfY1CnCky6XyovC+/VY4z6f1eJqxvTvJEbiqulI= -go.opentelemetry.io/collector/confmap/provider/httpprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Knp6z1C2fHWO58AG4gas+1du+rWQfV4mr4G5ttQEa7g= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:7oFKyoKAqJpob+7mAqx7yisgXsRYB4g4bI88fOHvvVk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ozOtsxcQXrVndGjNwzsXcWfo0+dpBtHmL7bMrPE2EIM= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331 h1:krcA76OOIBEN1IcRieojMCH6EwKvTBWFPixGqHBpToQ= -go.opentelemetry.io/collector/exporter/otlpexporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:jc+4XrGLQ7Ce50A8m4l3JASBmH2pW7fgpKGn+SD1VjU= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1 h1:OH250Z/bXJTZjkeMwUERbLZiNPETlOxE3q4n536Kc4s= -go.opentelemetry.io/collector/extension/zpagesextension v0.108.1/go.mod h1:3QSnFvGq5jXXwSPi94x2ggBGPZxdtD0lxpPOpV3RZRc= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331 h1:t331j5Q8tQgh0y1Vp061lKgeMsA9kJ7MK9z65WobTtI= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:Il/m5ughpdyr+rXn+U2gJ6cHLXYdDU1LbZ3I/RN+Eqg= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/contrib/zpages v0.54.0 h1:tSfm/LEK5E46sd5qx/Y9o4iQ65ipLubV0Una7veXFlA= -go.opentelemetry.io/contrib/zpages v0.54.0/go.mod h1:sbe4/RH3CFKkdM5zuGwfziKjvkqUOK9hSgLFckiVZUI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0 h1:ZWEsXeCbNUP4GXRvlkVXBpqIH9rNtnk1knZDORo/7zA= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.18.0/go.mod h1:76mYXizxjo8rcRsvyTuNtPykVuqmZWGcV6lGs7+++J8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0 h1:529bKb9LBG8WJYxLJikl6/yUoJ+EB7BYkg3cagh/slI= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.18.0/go.mod h1:GQgYpmD2rIGwSNd0Lz5tbVzuEyj9xdmqPN0xbkCYtts= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0 h1:ZB2PoClyiXsIs6k7RxmpEtduWWjT01pQ8joXWiJ0kzo= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.18.0/go.mod h1:q5RafpmzsbsAhs0PCz6jbMOl7XYkp0f2NYs4lxQbkOI= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.112.0 h1:nd4I3Ly9gks81CMJBvYE9Eq+LFcgdS4/VV5ETfvEGow= +go.opentelemetry.io/collector/consumer/consumererror/consumererrorprofiles v0.112.0/go.mod h1:6dRj7VdWLqC6bYtrw4h6MuOXhTnKPz06XY751QoyrZ4= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.112.0 h1:D0JOeQmRlQ8IPjMayRsgNhY+SlT0lxLhbntE6nnyPOU= +go.opentelemetry.io/collector/exporter/exporterhelper/exporterhelperprofiles v0.112.0/go.mod h1:DD4i0zSXX3IQM+KmFS4sTwapJTe9uGvQ1vSfknrX3CM= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0 h1:iege9KqmB4mk5bvsqX4T1jk5gB+WhZi1RZnnFkqMn78= +go.opentelemetry.io/collector/exporter/otlpexporter v0.112.0/go.mod h1:hW2jkbwo633j5ENeJfYqCofKAQa42tcy6HHGSrwcYVw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0 h1:lf25Un219weElo1FflwGjH/gwk8Z96Pwj+xZbdF0FVo= +go.opentelemetry.io/collector/extension/zpagesextension v0.112.0/go.mod h1:jr/i5POl+fguEDJ1thUou7sqtYfhOl+7SD+zCK3zhpw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0 h1:AdjoVnYl7RxoOvhWZcJb0SWY1VvlRT1cdlCwHBpn9vs= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.112.0/go.mod h1:VSbEYgmiSM5K6p501XD35QuhxbDpkxrfS2Wf5OKnHPs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= +go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -343,10 +355,10 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -357,14 +369,14 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY= golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -379,14 +391,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -400,22 +412,22 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apiextensions-apiserver v0.31.0 h1:fZgCVhGwsclj3qCw1buVXCV6khjRzKC5eCFt24kyLSk= k8s.io/apiextensions-apiserver v0.31.0/go.mod h1:b9aMDEYaEe5sdK+1T0KU78ApR/5ZVp4i56VacZYEHxk= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q= -sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4= +sigs.k8s.io/controller-runtime v0.19.1 h1:Son+Q40+Be3QWb+niBXAg2vFiYWolDjjRfO8hn/cxOk= +sigs.k8s.io/controller-runtime v0.19.1/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= diff --git a/exporter/loadbalancingexporter/helpers_test.go b/exporter/loadbalancingexporter/helpers_test.go index bdad0a02d6db..bea11d3c213f 100644 --- a/exporter/loadbalancingexporter/helpers_test.go +++ b/exporter/loadbalancingexporter/helpers_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) func TestMergeTracesTwoEmpty(t *testing.T) { diff --git a/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go b/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go index 75a662ff3903..4e7decf05d3e 100644 --- a/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go +++ b/exporter/loadbalancingexporter/internal/metadata/generated_telemetry.go @@ -37,22 +37,31 @@ type TelemetryBuilder struct { meters map[configtelemetry.Level]metric.Meter } -// telemetryBuilderOption applies changes to default builder. -type telemetryBuilderOption func(*TelemetryBuilder) +// TelemetryBuilderOption applies changes to default builder. +type TelemetryBuilderOption interface { + apply(*TelemetryBuilder) +} + +type telemetryBuilderOptionFunc func(mb *TelemetryBuilder) + +func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { + tbof(mb) +} // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component -func NewTelemetryBuilder(settings component.TelemetrySettings, options ...telemetryBuilderOption) (*TelemetryBuilder, error) { +func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { builder := TelemetryBuilder{meters: map[configtelemetry.Level]metric.Meter{}} for _, op := range options { - op(&builder) + op.apply(&builder) } builder.meters[configtelemetry.LevelBasic] = LeveledMeter(settings, configtelemetry.LevelBasic) var err, errs error builder.LoadbalancerBackendLatency, err = builder.meters[configtelemetry.LevelBasic].Int64Histogram( "otelcol_loadbalancer_backend_latency", metric.WithDescription("Response latency in ms for the backends."), - metric.WithUnit("ms"), metric.WithExplicitBucketBoundaries([]float64{5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000}...), + metric.WithUnit("ms"), + metric.WithExplicitBucketBoundaries([]float64{5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000}...), ) errs = errors.Join(errs, err) builder.LoadbalancerBackendOutcome, err = builder.meters[configtelemetry.LevelBasic].Int64Counter( diff --git a/exporter/loadbalancingexporter/internal/metadata/generated_telemetry_test.go b/exporter/loadbalancingexporter/internal/metadata/generated_telemetry_test.go index d0521bf3d48e..8ba36233dd4a 100644 --- a/exporter/loadbalancingexporter/internal/metadata/generated_telemetry_test.go +++ b/exporter/loadbalancingexporter/internal/metadata/generated_telemetry_test.go @@ -75,9 +75,9 @@ func TestNewTelemetryBuilder(t *testing.T) { TracerProvider: mockTracerProvider{}, } applied := false - _, err := NewTelemetryBuilder(set, func(b *TelemetryBuilder) { + _, err := NewTelemetryBuilder(set, telemetryBuilderOptionFunc(func(b *TelemetryBuilder) { applied = true - }) + })) require.NoError(t, err) require.True(t, applied) } diff --git a/exporter/loadbalancingexporter/loadbalancer_test.go b/exporter/loadbalancingexporter/loadbalancer_test.go index 5aa8ed5de91e..859e6d4a2f5e 100644 --- a/exporter/loadbalancingexporter/loadbalancer_test.go +++ b/exporter/loadbalancingexporter/loadbalancer_test.go @@ -274,7 +274,7 @@ func TestAddMissingExporters(t *testing.T) { fn := func(ctx context.Context, endpoint string) (component.Component, error) { oCfg := cfg.Protocol.OTLP oCfg.Endpoint = endpoint - return exporterFactory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), &oCfg) + return exporterFactory.CreateTraces(ctx, exportertest.NewNopSettings(), &oCfg) } p, err := newLoadBalancer(ts.Logger, cfg, fn, tb) @@ -309,7 +309,7 @@ func TestFailedToAddMissingExporters(t *testing.T) { fn := func(ctx context.Context, endpoint string) (component.Component, error) { oCfg := cfg.Protocol.OTLP oCfg.Endpoint = endpoint - return exporterFactory.CreateTracesExporter(ctx, exportertest.NewNopSettings(), &oCfg) + return exporterFactory.CreateTraces(ctx, exportertest.NewNopSettings(), &oCfg) } p, err := newLoadBalancer(ts.Logger, cfg, fn, tb) diff --git a/exporter/loadbalancingexporter/log_exporter.go b/exporter/loadbalancingexporter/log_exporter.go index 49068c7d9e44..8d4e3cf56b37 100644 --- a/exporter/loadbalancingexporter/log_exporter.go +++ b/exporter/loadbalancingexporter/log_exporter.go @@ -41,7 +41,7 @@ func newLogsExporter(params exporter.Settings, cfg component.Config) (*logExport exporterFactory := otlpexporter.NewFactory() cfFunc := func(ctx context.Context, endpoint string) (component.Component, error) { oCfg := buildExporterConfig(cfg.(*Config), endpoint) - return exporterFactory.CreateLogsExporter(ctx, params, &oCfg) + return exporterFactory.CreateLogs(ctx, params, &oCfg) } lb, err := newLoadBalancer(params.Logger, cfg, cfFunc, telemetry) diff --git a/exporter/loadbalancingexporter/log_exporter_test.go b/exporter/loadbalancingexporter/log_exporter_test.go index 5c83e4a3477a..0286d5ec4121 100644 --- a/exporter/loadbalancingexporter/log_exporter_test.go +++ b/exporter/loadbalancingexporter/log_exporter_test.go @@ -466,7 +466,7 @@ func TestRollingUpdatesWhenConsumeLogs(t *testing.T) { return case <-ticker.C: go func() { - require.NoError(t, p.ConsumeLogs(ctx, randomLogs())) + assert.NoError(t, p.ConsumeLogs(ctx, randomLogs())) }() } } @@ -488,8 +488,8 @@ func TestRollingUpdatesWhenConsumeLogs(t *testing.T) { mu.Lock() require.Equal(t, []string{"127.0.0.2"}, lastResolved) mu.Unlock() - require.Greater(t, counter1.Load(), int64(0)) - require.Greater(t, counter2.Load(), int64(0)) + require.Positive(t, counter1.Load()) + require.Positive(t, counter2.Load()) } func randomLogs() plog.Logs { diff --git a/exporter/loadbalancingexporter/metadata.yaml b/exporter/loadbalancingexporter/metadata.yaml index d9fef7b30e92..8a1c0d40b879 100644 --- a/exporter/loadbalancingexporter/metadata.yaml +++ b/exporter/loadbalancingexporter/metadata.yaml @@ -5,8 +5,7 @@ status: stability: beta: [traces, logs] development: [metrics] - distributions: - - contrib + distributions: [contrib, k8s] codeowners: active: [jpkrohling] diff --git a/exporter/loadbalancingexporter/metrics_exporter.go b/exporter/loadbalancingexporter/metrics_exporter.go index c5e9d8a69f74..9fd765a5416d 100644 --- a/exporter/loadbalancingexporter/metrics_exporter.go +++ b/exporter/loadbalancingexporter/metrics_exporter.go @@ -15,7 +15,7 @@ import ( "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/otlpexporter" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.opentelemetry.io/otel/metric" "go.uber.org/multierr" @@ -43,7 +43,7 @@ func newMetricsExporter(params exporter.Settings, cfg component.Config) (*metric exporterFactory := otlpexporter.NewFactory() cfFunc := func(ctx context.Context, endpoint string) (component.Component, error) { oCfg := buildExporterConfig(cfg.(*Config), endpoint) - return exporterFactory.CreateMetricsExporter(ctx, params, &oCfg) + return exporterFactory.CreateMetrics(ctx, params, &oCfg) } lb, err := newLoadBalancer(params.Logger, cfg, cfFunc, telemetry) diff --git a/exporter/loadbalancingexporter/metrics_exporter_test.go b/exporter/loadbalancingexporter/metrics_exporter_test.go index 803cdb3f4b0a..9e4ab653dfb4 100644 --- a/exporter/loadbalancingexporter/metrics_exporter_test.go +++ b/exporter/loadbalancingexporter/metrics_exporter_test.go @@ -28,7 +28,7 @@ import ( "go.opentelemetry.io/collector/otelcol/otelcoltest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.9.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "gopkg.in/yaml.v2" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter/internal/metadata" @@ -697,7 +697,7 @@ func TestBuildExporterConfigUnknown(t *testing.T) { grpcSettings.Endpoint = "the-endpoint" assert.Equal(t, grpcSettings, exporterCfg.ClientConfig) - assert.Equal(t, defaultCfg.TimeoutSettings, exporterCfg.TimeoutSettings) + assert.Equal(t, defaultCfg.TimeoutConfig, exporterCfg.TimeoutConfig) assert.Equal(t, defaultCfg.QueueConfig, exporterCfg.QueueConfig) assert.Equal(t, defaultCfg.RetryConfig, exporterCfg.RetryConfig) } @@ -847,7 +847,7 @@ func TestRollingUpdatesWhenConsumeMetrics(t *testing.T) { return case <-ticker.C: go func() { - require.NoError(t, p.ConsumeMetrics(ctx, randomMetrics(t, 1, 1, 1, 1))) + assert.NoError(t, p.ConsumeMetrics(ctx, randomMetrics(t, 1, 1, 1, 1))) }() } } @@ -869,8 +869,8 @@ func TestRollingUpdatesWhenConsumeMetrics(t *testing.T) { mu.Lock() require.Equal(t, []string{"127.0.0.2"}, lastResolved) mu.Unlock() - require.Greater(t, counter1.Load(), int64(0)) - require.Greater(t, counter2.Load(), int64(0)) + require.Positive(t, counter1.Load()) + require.Positive(t, counter2.Load()) } func randomMetrics(t require.TestingT, rmCount int, smCount int, mCount int, dpCount int) pmetric.Metrics { diff --git a/exporter/loadbalancingexporter/trace_exporter.go b/exporter/loadbalancingexporter/trace_exporter.go index 3e088cea4bf9..3e335e8a9e14 100644 --- a/exporter/loadbalancingexporter/trace_exporter.go +++ b/exporter/loadbalancingexporter/trace_exporter.go @@ -45,7 +45,7 @@ func newTracesExporter(params exporter.Settings, cfg component.Config) (*traceEx exporterFactory := otlpexporter.NewFactory() cfFunc := func(ctx context.Context, endpoint string) (component.Component, error) { oCfg := buildExporterConfig(cfg.(*Config), endpoint) - return exporterFactory.CreateTracesExporter(ctx, params, &oCfg) + return exporterFactory.CreateTraces(ctx, params, &oCfg) } lb, err := newLoadBalancer(params.Logger, cfg, cfFunc, telemetry) diff --git a/exporter/loadbalancingexporter/trace_exporter_test.go b/exporter/loadbalancingexporter/trace_exporter_test.go index 370b0a5ddb72..bb6544e3222e 100644 --- a/exporter/loadbalancingexporter/trace_exporter_test.go +++ b/exporter/loadbalancingexporter/trace_exporter_test.go @@ -27,7 +27,7 @@ import ( "go.opentelemetry.io/collector/otelcol/otelcoltest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.9.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter/internal/metadata" ) @@ -373,7 +373,7 @@ func TestBuildExporterConfig(t *testing.T) { grpcSettings.Endpoint = "the-endpoint" assert.Equal(t, grpcSettings, exporterCfg.ClientConfig) - assert.Equal(t, defaultCfg.TimeoutSettings, exporterCfg.TimeoutSettings) + assert.Equal(t, defaultCfg.TimeoutConfig, exporterCfg.TimeoutConfig) assert.Equal(t, defaultCfg.QueueConfig, exporterCfg.QueueConfig) assert.Equal(t, defaultCfg.RetryConfig, exporterCfg.RetryConfig) } @@ -569,7 +569,7 @@ func TestRollingUpdatesWhenConsumeTraces(t *testing.T) { return case <-ticker.C: go func() { - require.NoError(t, p.ConsumeTraces(ctx, randomTraces())) + assert.NoError(t, p.ConsumeTraces(ctx, randomTraces())) }() } } @@ -591,8 +591,8 @@ func TestRollingUpdatesWhenConsumeTraces(t *testing.T) { mu.Lock() require.Equal(t, []string{"127.0.0.2"}, lastResolved) mu.Unlock() - require.Greater(t, counter1.Load(), int64(0)) - require.Greater(t, counter2.Load(), int64(0)) + require.Positive(t, counter1.Load()) + require.Positive(t, counter2.Load()) } func benchConsumeTraces(b *testing.B, endpointsCount int, tracesCount int) { diff --git a/exporter/logicmonitorexporter/config.go b/exporter/logicmonitorexporter/config.go index f5625988288d..e6dd9fa8d08f 100644 --- a/exporter/logicmonitorexporter/config.go +++ b/exporter/logicmonitorexporter/config.go @@ -20,9 +20,9 @@ import ( type Config struct { confighttp.ClientConfig `mapstructure:",squash"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - ResourceToTelemetrySettings resourcetotelemetry.Settings `mapstructure:"resource_to_telemetry_conversion"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + ResourceToTelemetrySettings resourcetotelemetry.Settings `mapstructure:"resource_to_telemetry_conversion"` // ApiToken of Logicmonitor Platform APIToken APIToken `mapstructure:"api_token"` diff --git a/exporter/logicmonitorexporter/config_test.go b/exporter/logicmonitorexporter/config_test.go index 0dd9973b1539..2791854b0f7c 100644 --- a/exporter/logicmonitorexporter/config_test.go +++ b/exporter/logicmonitorexporter/config_test.go @@ -103,7 +103,7 @@ func TestLoadConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "apitoken"), expected: &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), ClientConfig: confighttp.ClientConfig{ Endpoint: "https://company.logicmonitor.com/rest", }, @@ -117,7 +117,7 @@ func TestLoadConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "bearertoken"), expected: &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), ClientConfig: confighttp.ClientConfig{ Endpoint: "https://company.logicmonitor.com/rest", Headers: map[string]configopaque.String{ @@ -130,7 +130,7 @@ func TestLoadConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "resource-mapping-op"), expected: &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), ClientConfig: confighttp.ClientConfig{ Endpoint: "https://company.logicmonitor.com/rest", Headers: map[string]configopaque.String{ diff --git a/exporter/logicmonitorexporter/factory.go b/exporter/logicmonitorexporter/factory.go index 9dc297426728..e46cad35a113 100644 --- a/exporter/logicmonitorexporter/factory.go +++ b/exporter/logicmonitorexporter/factory.go @@ -30,7 +30,7 @@ func NewFactory() exporter.Factory { func createDefaultConfig() component.Config { return &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), } } @@ -38,7 +38,7 @@ func createLogsExporter(ctx context.Context, set exporter.Settings, cfg componen lmLogExp := newLogsExporter(ctx, cfg, set) c := cfg.(*Config) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, @@ -54,7 +54,7 @@ func createTracesExporter(ctx context.Context, set exporter.Settings, cfg compon lmTraceExp := newTracesExporter(ctx, cfg, set) c := cfg.(*Config) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, diff --git a/exporter/logicmonitorexporter/factory_test.go b/exporter/logicmonitorexporter/factory_test.go index 411a0e2d5516..64fef6c2f00d 100644 --- a/exporter/logicmonitorexporter/factory_test.go +++ b/exporter/logicmonitorexporter/factory_test.go @@ -22,13 +22,13 @@ func TestCreateDefaultConfig(t *testing.T) { assert.Equal(t, &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), }, cfg, "failed to create default config") assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { tests := []struct { name string config Config @@ -50,9 +50,9 @@ func TestCreateLogsExporter(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) set := exportertest.NewNopSettings() - oexp, err := factory.CreateLogsExporter(context.Background(), set, cfg) + oexp, err := factory.CreateLogs(context.Background(), set, cfg) if (err != nil) != tt.shouldError { - t.Errorf("CreateLogsExporter() error = %v, shouldError %v", err, tt.shouldError) + t.Errorf("CreateLogs() error = %v, shouldError %v", err, tt.shouldError) return } if tt.shouldError { @@ -68,7 +68,7 @@ func TestCreateLogsExporter(t *testing.T) { } } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { tests := []struct { name string config Config @@ -90,9 +90,9 @@ func TestCreateTracesExporter(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) set := exportertest.NewNopSettings() - oexp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + oexp, err := factory.CreateTraces(context.Background(), set, cfg) if (err != nil) != tt.shouldError { - t.Errorf("CreateTracesExporter() error = %v, shouldError %v", err, tt.shouldError) + t.Errorf("CreateTraces() error = %v, shouldError %v", err, tt.shouldError) return } if tt.shouldError { diff --git a/exporter/logicmonitorexporter/generated_component_test.go b/exporter/logicmonitorexporter/generated_component_test.go index 875aaea1e041..4d625d16e994 100644 --- a/exporter/logicmonitorexporter/generated_component_test.go +++ b/exporter/logicmonitorexporter/generated_component_test.go @@ -38,14 +38,14 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -57,21 +57,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/logicmonitorexporter/go.mod b/exporter/logicmonitorexporter/go.mod index 5e767d12b601..bbb8c9e9dd50 100644 --- a/exporter/logicmonitorexporter/go.mod +++ b/exporter/logicmonitorexporter/go.mod @@ -4,37 +4,36 @@ go 1.22.0 require ( github.com/logicmonitor/lm-data-sdk-go v1.3.2 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pdata/testdata v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -42,44 +41,38 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/logicmonitorexporter/go.sum b/exporter/logicmonitorexporter/go.sum index f97d66058f89..3f783f2cfdbc 100644 --- a/exporter/logicmonitorexporter/go.sum +++ b/exporter/logicmonitorexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -16,8 +12,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -27,14 +23,12 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -45,8 +39,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/logicmonitor/lm-data-sdk-go v1.3.2 h1:sgDRufUGd/EHQcKlip3Ak5km2Y6HfuwFGROinCSe+bI= github.com/logicmonitor/lm-data-sdk-go v1.3.2/go.mod h1:Hp/eMI2wMmpUX0MP/ZIpx+4MUpwFmkPRkeEAXb+W+vk= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -58,20 +50,12 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -80,72 +64,72 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -161,20 +145,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -185,10 +169,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/logicmonitorexporter/traces_exporter_test.go b/exporter/logicmonitorexporter/traces_exporter_test.go index 61d19a9037a6..460b9c7be501 100644 --- a/exporter/logicmonitorexporter/traces_exporter_test.go +++ b/exporter/logicmonitorexporter/traces_exporter_test.go @@ -51,7 +51,7 @@ func TestPushTraceData(t *testing.T) { APIToken: APIToken{AccessID: "testid", AccessKey: "testkey"}, } ctx := context.Background() - exp, err := f.CreateTracesExporter(ctx, params, config) + exp, err := f.CreateTraces(ctx, params, config) assert.NoError(t, err) assert.NoError(t, exp.Start(ctx, componenttest.NewNopHost())) defer func() { assert.NoError(t, exp.Shutdown(ctx)) }() diff --git a/exporter/logzioexporter/config.go b/exporter/logzioexporter/config.go index d0d12bfacc8e..74c53e495832 100644 --- a/exporter/logzioexporter/config.go +++ b/exporter/logzioexporter/config.go @@ -15,15 +15,15 @@ import ( // Config contains Logz.io specific configuration such as Account TracesToken, Region, etc. type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` // confighttp client settings https://pkg.go.dev/go.opentelemetry.io/collector/config/confighttp#ClientConfig - exporterhelper.QueueSettings `mapstructure:"sending_queue"` // exporter helper queue settings https://pkg.go.dev/go.opentelemetry.io/collector/exporter/exporterhelper#QueueSettings - configretry.BackOffConfig `mapstructure:"retry_on_failure"` // exporter helper retry settings https://pkg.go.dev/go.opentelemetry.io/collector/exporter/exporterhelper#RetrySettings - Token configopaque.String `mapstructure:"account_token"` // Your Logz.io Account Token, can be found at https://app.logz.io/#/dashboard/settings/general - Region string `mapstructure:"region"` // Your Logz.io 2-letter region code, can be found at https://docs.logz.io/user-guide/accounts/account-region.html#available-regions - CustomEndpoint string `mapstructure:"custom_endpoint"` // **Deprecation** Custom endpoint to ship traces to. Use only for dev and tests. - DrainInterval int `mapstructure:"drain_interval"` // **Deprecation** Queue drain interval in seconds. Defaults to `3`. - QueueCapacity int64 `mapstructure:"queue_capacity"` // **Deprecation** Queue capacity in bytes. Defaults to `20 * 1024 * 1024` ~ 20mb. - QueueMaxLength int `mapstructure:"queue_max_length"` // **Deprecation** Max number of items allowed in the queue. Defaults to `500000`. + confighttp.ClientConfig `mapstructure:",squash"` // confighttp client settings https://pkg.go.dev/go.opentelemetry.io/collector/config/confighttp#ClientConfig + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` // exporter helper queue settings https://pkg.go.dev/go.opentelemetry.io/collector/exporter/exporterhelper#QueueSettings + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // exporter helper retry settings https://pkg.go.dev/go.opentelemetry.io/collector/exporter/exporterhelper#RetrySettings + Token configopaque.String `mapstructure:"account_token"` // Your Logz.io Account Token, can be found at https://app.logz.io/#/dashboard/settings/general + Region string `mapstructure:"region"` // Your Logz.io 2-letter region code, can be found at https://docs.logz.io/user-guide/accounts/account-region.html#available-regions + CustomEndpoint string `mapstructure:"custom_endpoint"` // **Deprecation** Custom endpoint to ship traces to. Use only for dev and tests. + DrainInterval int `mapstructure:"drain_interval"` // **Deprecation** Queue drain interval in seconds. Defaults to `3`. + QueueCapacity int64 `mapstructure:"queue_capacity"` // **Deprecation** Queue capacity in bytes. Defaults to `20 * 1024 * 1024` ~ 20mb. + QueueMaxLength int `mapstructure:"queue_max_length"` // **Deprecation** Max number of items allowed in the queue. Defaults to `500000`. } func (c *Config) Validate() error { @@ -36,7 +36,7 @@ func (c *Config) Validate() error { // CheckAndWarnDeprecatedOptions Is checking for soon deprecated configuration options (queue_max_length, queue_capacity, drain_interval, custom_endpoint) log a warning message and map to the relevant updated option func (c *Config) checkAndWarnDeprecatedOptions(logger hclog.Logger) { if c.QueueCapacity != 0 { - logger.Warn("You are using the deprecated`queue_capacity` option that will be removed in the next release; use exporter helper configuration instead: https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md") + logger.Warn("You are using the deprecated `queue_capacity` option that will be removed in the next release; use exporter helper configuration instead: https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md") } // Warn and map queue_max_length -> QueueSettings.QueueSize if c.QueueMaxLength != 0 { diff --git a/exporter/logzioexporter/config_test.go b/exporter/logzioexporter/config_test.go index ff9241145557..bf16dbe27644 100644 --- a/exporter/logzioexporter/config_test.go +++ b/exporter/logzioexporter/config_test.go @@ -13,7 +13,6 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/configcompression" "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/confmap/confmaptest" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -38,17 +37,13 @@ func TestLoadConfig(t *testing.T) { } expected.BackOffConfig = configretry.NewDefaultBackOffConfig() expected.BackOffConfig.MaxInterval = 5 * time.Second - expected.QueueSettings = exporterhelper.NewDefaultQueueSettings() + expected.QueueSettings = exporterhelper.NewDefaultQueueConfig() expected.QueueSettings.Enabled = false - expected.ClientConfig = confighttp.ClientConfig{ - Endpoint: "", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - // Default to gzip compression - Compression: configcompression.TypeGzip, - // We almost read 0 bytes, so no need to tune ReadBufferSize. - WriteBufferSize: 512 * 1024, - } + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = 30 * time.Second + clientConfig.Compression = configcompression.TypeGzip + clientConfig.WriteBufferSize = 512 * 1024 + expected.ClientConfig = clientConfig assert.Equal(t, expected, cfg) } @@ -66,37 +61,29 @@ func TestDefaultLoadConfig(t *testing.T) { Token: "logzioTESTtoken", } expected.BackOffConfig = configretry.NewDefaultBackOffConfig() - expected.QueueSettings = exporterhelper.NewDefaultQueueSettings() - expected.ClientConfig = confighttp.ClientConfig{ - Endpoint: "", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - // Default to gzip compression - Compression: configcompression.TypeGzip, - // We almost read 0 bytes, so no need to tune ReadBufferSize. - WriteBufferSize: 512 * 1024, - } + expected.QueueSettings = exporterhelper.NewDefaultQueueConfig() + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = 30 * time.Second + clientConfig.Compression = configcompression.TypeGzip + clientConfig.WriteBufferSize = 512 * 1024 + expected.ClientConfig = clientConfig assert.Equal(t, expected, cfg) } func TestCheckAndWarnDeprecatedOptions(t *testing.T) { + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = 10 * time.Second + clientConfig.Compression = configcompression.TypeGzip + clientConfig.WriteBufferSize = 512 * 1024 // Config with legacy options actualCfg := &Config{ - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), Token: "logzioTESTtoken", CustomEndpoint: "https://api.example.com", QueueMaxLength: 10, DrainInterval: 10, - ClientConfig: confighttp.ClientConfig{ - Endpoint: "", - Timeout: 10 * time.Second, - Headers: map[string]configopaque.String{}, - // Default to gzip compression - Compression: configcompression.TypeGzip, - // We almost read 0 bytes, so no need to tune ReadBufferSize. - WriteBufferSize: 512 * 1024, - }, + ClientConfig: clientConfig, } params := exportertest.NewNopSettings() logger := hclog2ZapLogger{ @@ -105,22 +92,20 @@ func TestCheckAndWarnDeprecatedOptions(t *testing.T) { } actualCfg.checkAndWarnDeprecatedOptions(&logger) + clientConfigEndpoint := confighttp.NewDefaultClientConfig() + clientConfigEndpoint.Timeout = 10 * time.Second + clientConfigEndpoint.Compression = configcompression.TypeGzip + clientConfigEndpoint.WriteBufferSize = 512 * 1024 + clientConfigEndpoint.Endpoint = "https://api.example.com" + expected := &Config{ Token: "logzioTESTtoken", CustomEndpoint: "https://api.example.com", QueueMaxLength: 10, DrainInterval: 10, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - ClientConfig: confighttp.ClientConfig{ - Endpoint: "https://api.example.com", - Timeout: 10 * time.Second, - Headers: map[string]configopaque.String{}, - // Default to gzip compression - Compression: configcompression.TypeGzip, - // We almost read 0 bytes, so no need to tune ReadBufferSize. - WriteBufferSize: 512 * 1024, - }, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + ClientConfig: clientConfigEndpoint, } expected.QueueSettings.QueueSize = 10 assert.Equal(t, expected, actualCfg) diff --git a/exporter/logzioexporter/exporter.go b/exporter/logzioexporter/exporter.go index 218d2351a221..1fbb963c7c0f 100644 --- a/exporter/logzioexporter/exporter.go +++ b/exporter/logzioexporter/exporter.go @@ -77,14 +77,14 @@ func newLogzioTracesExporter(config *Config, set exporter.Settings) (exporter.Tr return nil, err } config.checkAndWarnDeprecatedOptions(exporter.logger) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( context.TODO(), set, config, exporter.pushTraceData, exporterhelper.WithStart(exporter.start), // disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithQueue(config.QueueSettings), exporterhelper.WithRetry(config.BackOffConfig), ) @@ -99,14 +99,14 @@ func newLogzioLogsExporter(config *Config, set exporter.Settings) (exporter.Logs return nil, err } config.checkAndWarnDeprecatedOptions(exporter.logger) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( context.TODO(), set, config, exporter.pushLogData, exporterhelper.WithStart(exporter.start), // disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithQueue(config.QueueSettings), exporterhelper.WithRetry(config.BackOffConfig), ) @@ -182,10 +182,7 @@ func mergeMapEntries(maps ...pcommon.Map) pcommon.Map { func (exporter *logzioExporter) pushTraceData(ctx context.Context, traces ptrace.Traces) error { // a buffer to store logzio span and services bytes var dataBuffer bytes.Buffer - batches, err := jaeger.ProtoFromTraces(traces) - if err != nil { - return err - } + batches := jaeger.ProtoFromTraces(traces) for _, batch := range batches { for _, span := range batch.Spans { span.Process = batch.Process @@ -195,7 +192,7 @@ func (exporter *logzioExporter) pushTraceData(ctx context.Context, traces ptrace if transformErr != nil { return transformErr } - _, err = dataBuffer.Write(append(logzioSpan, '\n')) + _, err := dataBuffer.Write(append(logzioSpan, '\n')) if err != nil { return err } @@ -220,7 +217,7 @@ func (exporter *logzioExporter) pushTraceData(ctx context.Context, traces ptrace } } } - err = exporter.export(ctx, exporter.config.ClientConfig.Endpoint, dataBuffer.Bytes()) + err := exporter.export(ctx, exporter.config.ClientConfig.Endpoint, dataBuffer.Bytes()) // reset the data buffer after each export to prevent duplicated data dataBuffer.Reset() return err diff --git a/exporter/logzioexporter/exporter_test.go b/exporter/logzioexporter/exporter_test.go index f6a172e9ca99..fde5d753f365 100644 --- a/exporter/logzioexporter/exporter_test.go +++ b/exporter/logzioexporter/exporter_test.go @@ -26,7 +26,7 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/ptrace" "go.opentelemetry.io/collector/pdata/testdata" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) const ( @@ -186,12 +186,13 @@ func TestExportErrors(tester *testing.T) { server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { rw.WriteHeader(test.status) })) + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = server.URL + cfg := &Config{ - Region: "", - Token: "token", - ClientConfig: confighttp.ClientConfig{ - Endpoint: server.URL, - }, + Region: "", + Token: "token", + ClientConfig: clientConfig, } td := newTestTracesWithAttributes() ld := testdata.GenerateLogs(10) @@ -240,13 +241,13 @@ func TestPushTraceData(tester *testing.T) { recordedRequests, _ = io.ReadAll(req.Body) rw.WriteHeader(http.StatusOK) })) + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = server.URL + clientConfig.Compression = configcompression.TypeGzip cfg := Config{ - Token: "token", - Region: "", - ClientConfig: confighttp.ClientConfig{ - Endpoint: server.URL, - Compression: configcompression.TypeGzip, - }, + Token: "token", + Region: "", + ClientConfig: clientConfig, } defer server.Close() td := newTestTraces() @@ -273,13 +274,13 @@ func TestPushLogsData(tester *testing.T) { recordedRequests, _ = io.ReadAll(req.Body) rw.WriteHeader(http.StatusOK) })) + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = server.URL + clientConfig.Compression = configcompression.TypeGzip cfg := Config{ - Token: "token", - Region: "", - ClientConfig: confighttp.ClientConfig{ - Endpoint: server.URL, - Compression: configcompression.TypeGzip, - }, + Token: "token", + Region: "", + ClientConfig: clientConfig, } defer server.Close() ld := generateLogsOneEmptyTimestamp() diff --git a/exporter/logzioexporter/factory.go b/exporter/logzioexporter/factory.go index 047a2a73d590..3345e38dac23 100644 --- a/exporter/logzioexporter/factory.go +++ b/exporter/logzioexporter/factory.go @@ -15,7 +15,6 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/configcompression" "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -34,20 +33,18 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = 30 * time.Second + // Default to gzip compression + clientConfig.Compression = configcompression.TypeGzip + // We almost read 0 bytes, so no need to tune ReadBufferSize. + clientConfig.WriteBufferSize = 512 * 1024 return &Config{ Region: "", Token: "", BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - ClientConfig: confighttp.ClientConfig{ - Endpoint: "", - Timeout: 30 * time.Second, - Headers: map[string]configopaque.String{}, - // Default to gzip compression - Compression: configcompression.TypeGzip, - // We almost read 0 bytes, so no need to tune ReadBufferSize. - WriteBufferSize: 512 * 1024, - }, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + ClientConfig: clientConfig, } } diff --git a/exporter/logzioexporter/factory_test.go b/exporter/logzioexporter/factory_test.go index bdfd78833d2a..6c2956fb69a1 100644 --- a/exporter/logzioexporter/factory_test.go +++ b/exporter/logzioexporter/factory_test.go @@ -25,7 +25,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) @@ -37,7 +37,7 @@ func TestCreateTracesExporter(t *testing.T) { require.NoError(t, sub.Unmarshal(cfg)) params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.NotNil(t, exporter) } @@ -60,12 +60,12 @@ func TestGenerateUrl(t *testing.T) { {"", "EU", "https://listener-eu.logz.io:8071/?token=token"}, } for _, test := range generateURLTests { + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = test.endpoint cfg := &Config{ - Region: test.region, - Token: "token", - ClientConfig: confighttp.ClientConfig{ - Endpoint: test.endpoint, - }, + Region: test.region, + Token: "token", + ClientConfig: clientConfig, } output, _ := generateEndpoint(cfg) require.Equal(t, test.expected, output) diff --git a/exporter/logzioexporter/generated_component_test.go b/exporter/logzioexporter/generated_component_test.go index 50fc37a78faf..506bf18d855d 100644 --- a/exporter/logzioexporter/generated_component_test.go +++ b/exporter/logzioexporter/generated_component_test.go @@ -38,14 +38,14 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -57,21 +57,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/logzioexporter/go.mod b/exporter/logzioexporter/go.mod index 3fef64971741..36901a6b8a5b 100644 --- a/exporter/logzioexporter/go.mod +++ b/exporter/logzioexporter/go.mod @@ -4,44 +4,42 @@ go 1.22.0 require ( github.com/hashicorp/go-hclog v1.6.3 - github.com/jaegertracing/jaeger v1.60.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 + github.com/jaegertracing/jaeger v1.62.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configcompression v1.18.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pdata/testdata v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd - google.golang.org/protobuf v1.34.2 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 + google.golang.org/protobuf v1.35.1 ) require ( - github.com/apache/thrift v0.20.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/fatih/color v1.15.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -51,42 +49,37 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/grpc v1.66.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/grpc v1.67.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/logzioexporter/go.sum b/exporter/logzioexporter/go.sum index f64be5d8af9b..235d348d6aa3 100644 --- a/exporter/logzioexporter/go.sum +++ b/exporter/logzioexporter/go.sum @@ -1,11 +1,7 @@ -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -22,8 +18,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -35,16 +31,14 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -55,8 +49,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= @@ -75,19 +67,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= @@ -99,74 +83,74 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -182,8 +166,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -197,12 +181,12 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -211,12 +195,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/logzioexporter/jsonlog_test.go b/exporter/logzioexporter/jsonlog_test.go index a3643a5dc81a..2e4962e20e55 100644 --- a/exporter/logzioexporter/jsonlog_test.go +++ b/exporter/logzioexporter/jsonlog_test.go @@ -83,13 +83,13 @@ func TestSetTimeStamp(t *testing.T) { })) defer func() { server.Close() }() ld := generateLogsOneEmptyTimestamp() + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = server.URL + clientConfig.Compression = configcompression.TypeGzip cfg := &Config{ - Region: "us", - Token: "token", - ClientConfig: confighttp.ClientConfig{ - Endpoint: server.URL, - Compression: configcompression.TypeGzip, - }, + Region: "us", + Token: "token", + ClientConfig: clientConfig, } var err error params := exportertest.NewNopSettings() diff --git a/exporter/lokiexporter/README.md b/exporter/lokiexporter/README.md index 917cf86b90c1..e3157b7aa806 100644 --- a/exporter/lokiexporter/README.md +++ b/exporter/lokiexporter/README.md @@ -187,22 +187,36 @@ AFTER #### Grafana visualizations migration +Navigation between traces and logs must be updated to account for the new Loki format form OpenTelemetry logs. + ##### Tempo data source: Trace to Logs -To enable the "trace to logs" navigation from Tempo to Loki, navigate to the Grafana Tempo data source configuration screen, in the "Trace to logs" section, select "use custom query" and specify the query: +To enable the "trace to logs" navigation from Tempo to Loki, navigate to the Grafana Tempo data source configuration screen, in the "Trace to logs" section, + +* Select a Loki data source on which logs to trace is configured for the new Loki format for OTel logs as described in the next section +* Select "Use custom query" and specify the query: + + ``` + {${__tags}} | trace_id="${__span.traceId}" + ``` + +Configuration screenshot: + +![Grafana / Data Source / A Tempo datasource / Trace to logs](https://github.com/user-attachments/assets/f9728223-d6ba-4ce4-a377-77d6452a2014) -``` -{service_name="${__span.tags["service.name"]}"} | trace_id="${__span.traceId}" -``` ##### Loki data source: Log to Trace To enable the "logs to trace" navigation from Loki to Tempo, navigate to the Grafana Loki data source configuration screen, in the "Derived fields" section, update or create a derived field with: * Name: `Trace ID` -* Type: `Label` (this `Label` name is missleading because it also supports Loki message metadata) +* Type: `Label` (note that this `Label` name may be missleading because it also supports Loki message metadata) * Label: `trace_id` * Internal link: activated -* Select the Tempo data source on which "trace to logs" is configured +* Select the Tempo data source on which "trace to logs" is configured as described above + +Configuration screenshot: + +![Grafana / Data Source / A Loki datasource / Log to trace](https://github.com/user-attachments/assets/579a58bc-4fb2-4dcd-ade8-81c9fb0055f6) ### See Also diff --git a/exporter/lokiexporter/config.go b/exporter/lokiexporter/config.go index 1ac225728286..3ff583211c92 100644 --- a/exporter/lokiexporter/config.go +++ b/exporter/lokiexporter/config.go @@ -14,9 +14,9 @@ import ( // Config defines configuration for Loki exporter. type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` DefaultLabelsEnabled map[string]bool `mapstructure:"default_labels_enabled"` } diff --git a/exporter/lokiexporter/config_test.go b/exporter/lokiexporter/config_test.go index 242cc2d3e970..caf6ee5a120e 100644 --- a/exporter/lokiexporter/config_test.go +++ b/exporter/lokiexporter/config_test.go @@ -61,7 +61,7 @@ func TestLoadConfigNewExporter(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -99,7 +99,7 @@ func TestConfigValidate(t *testing.T) { }{ { desc: "QueueSettings are invalid", - cfg: &Config{QueueSettings: exporterhelper.QueueSettings{QueueSize: -1, Enabled: true}}, + cfg: &Config{QueueSettings: exporterhelper.QueueConfig{QueueSize: -1, Enabled: true}}, err: fmt.Errorf("queue settings has invalid configuration"), }, { @@ -122,8 +122,7 @@ func TestConfigValidate(t *testing.T) { t.Run(tc.desc, func(t *testing.T) { err := tc.cfg.Validate() if tc.err != nil { - require.Error(t, err) - assert.Contains(t, err.Error(), tc.err.Error()) + assert.ErrorContains(t, err, tc.err.Error()) } else { require.NoError(t, err) } diff --git a/exporter/lokiexporter/exporter_test.go b/exporter/lokiexporter/exporter_test.go index a7c1a5cb7fe0..19033b9ab2bc 100644 --- a/exporter/lokiexporter/exporter_test.go +++ b/exporter/lokiexporter/exporter_test.go @@ -65,13 +65,13 @@ func TestPushLogData(t *testing.T) { // prepare ts := httptest.NewServer(http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) { encPayload, err := io.ReadAll(r.Body) - require.NoError(t, err) + assert.NoError(t, err) decPayload, err := snappy.Decode(nil, encPayload) - require.NoError(t, err) + assert.NoError(t, err) err = proto.Unmarshal(decPayload, actualPushRequest) - require.NoError(t, err) + assert.NoError(t, err) })) defer ts.Close() @@ -82,7 +82,7 @@ func TestPushLogData(t *testing.T) { } f := NewFactory() - exp, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) @@ -241,14 +241,14 @@ func TestLogsToLokiRequestWithGroupingByTenant(t *testing.T) { // prepare ts := httptest.NewServer(http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) { encPayload, err := io.ReadAll(r.Body) - require.NoError(t, err) + assert.NoError(t, err) decPayload, err := snappy.Decode(nil, encPayload) - require.NoError(t, err) + assert.NoError(t, err) pr := &push.PushRequest{} err = proto.Unmarshal(decPayload, pr) - require.NoError(t, err) + assert.NoError(t, err) actualPushRequestPerTenant[r.Header.Get("X-Scope-OrgID")] = pr })) @@ -261,7 +261,7 @@ func TestLogsToLokiRequestWithGroupingByTenant(t *testing.T) { } f := NewFactory() - exp, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = exp.Start(context.Background(), componenttest.NewNopHost()) diff --git a/exporter/lokiexporter/factory.go b/exporter/lokiexporter/factory.go index 413c8a021cc7..05fc68c776a3 100644 --- a/exporter/lokiexporter/factory.go +++ b/exporter/lokiexporter/factory.go @@ -38,7 +38,7 @@ func createDefaultConfig() component.Config { WriteBufferSize: 512 * 1024, }, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), DefaultLabelsEnabled: map[string]bool{ "exporter": true, "job": true, @@ -56,13 +56,13 @@ func createLogsExporter(ctx context.Context, set exporter.Settings, config compo return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, config, exp.pushLogData, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(exporterConfig.BackOffConfig), exporterhelper.WithQueue(exporterConfig.QueueSettings), exporterhelper.WithStart(exp.start), diff --git a/exporter/lokiexporter/generated_component_test.go b/exporter/lokiexporter/generated_component_test.go index 6ce15d8424e6..a0cef5e154e5 100644 --- a/exporter/lokiexporter/generated_component_test.go +++ b/exporter/lokiexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/lokiexporter/go.mod b/exporter/lokiexporter/go.mod index 0e647a405595..0003e74395f9 100644 --- a/exporter/lokiexporter/go.mod +++ b/exporter/lokiexporter/go.mod @@ -7,23 +7,24 @@ require ( github.com/gogo/protobuf v1.3.2 github.com/golang/snappy v0.0.4 github.com/grafana/loki/pkg/push v0.0.0-20240514112848-a1b1eeb09583 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.108.0 - github.com/prometheus/common v0.57.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/loki v0.112.0 + github.com/prometheus/common v0.60.1 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/client v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 @@ -40,12 +41,12 @@ require ( github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -54,41 +55,42 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.112.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.4 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/prometheus/prometheus v0.54.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/lokiexporter/go.sum b/exporter/lokiexporter/go.sum index 5b77167dca0f..48ac3f3b610b 100644 --- a/exporter/lokiexporter/go.sum +++ b/exporter/lokiexporter/go.sum @@ -37,8 +37,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= @@ -64,8 +64,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -93,25 +93,27 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= +github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/prometheus/prometheus v0.54.1 h1:vKuwQNjnYN2/mDoWfHXDhAsz/68q/dQDb+YbcEqU7MQ= github.com/prometheus/prometheus v0.54.1/go.mod h1:xlLByHhk2g3ycakQGrMaU8K7OySZx98BzeCR99991NY= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -120,74 +122,76 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -199,8 +203,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -209,10 +213,10 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -221,12 +225,12 @@ golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -239,10 +243,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/lokiexporter/internal/metadata/generated_telemetry.go b/exporter/lokiexporter/internal/metadata/generated_telemetry.go index b53857387289..30790d747390 100644 --- a/exporter/lokiexporter/internal/metadata/generated_telemetry.go +++ b/exporter/lokiexporter/internal/metadata/generated_telemetry.go @@ -33,15 +33,23 @@ type TelemetryBuilder struct { meters map[configtelemetry.Level]metric.Meter } -// telemetryBuilderOption applies changes to default builder. -type telemetryBuilderOption func(*TelemetryBuilder) +// TelemetryBuilderOption applies changes to default builder. +type TelemetryBuilderOption interface { + apply(*TelemetryBuilder) +} + +type telemetryBuilderOptionFunc func(mb *TelemetryBuilder) + +func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { + tbof(mb) +} // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component -func NewTelemetryBuilder(settings component.TelemetrySettings, options ...telemetryBuilderOption) (*TelemetryBuilder, error) { +func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { builder := TelemetryBuilder{meters: map[configtelemetry.Level]metric.Meter{}} for _, op := range options { - op(&builder) + op.apply(&builder) } builder.meters[configtelemetry.LevelBasic] = LeveledMeter(settings, configtelemetry.LevelBasic) var err, errs error diff --git a/exporter/lokiexporter/internal/metadata/generated_telemetry_test.go b/exporter/lokiexporter/internal/metadata/generated_telemetry_test.go index 6d267393e5a1..1bd3814eb0cf 100644 --- a/exporter/lokiexporter/internal/metadata/generated_telemetry_test.go +++ b/exporter/lokiexporter/internal/metadata/generated_telemetry_test.go @@ -75,9 +75,9 @@ func TestNewTelemetryBuilder(t *testing.T) { TracerProvider: mockTracerProvider{}, } applied := false - _, err := NewTelemetryBuilder(set, func(b *TelemetryBuilder) { + _, err := NewTelemetryBuilder(set, telemetryBuilderOptionFunc(func(b *TelemetryBuilder) { applied = true - }) + })) require.NoError(t, err) require.True(t, applied) } diff --git a/exporter/mezmoexporter/config.go b/exporter/mezmoexporter/config.go index 691f19f54094..c1e74db45893 100644 --- a/exporter/mezmoexporter/config.go +++ b/exporter/mezmoexporter/config.go @@ -33,9 +33,9 @@ const ( // Config defines configuration for Mezmo exporter. type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // IngestURL is the URL to send telemetry to. IngestURL string `mapstructure:"ingest_url"` @@ -46,9 +46,9 @@ type Config struct { // returns default http client settings func createDefaultClientConfig() confighttp.ClientConfig { - return confighttp.ClientConfig{ - Timeout: defaultTimeout, - } + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = defaultTimeout + return clientConfig } func (c *Config) Validate() error { diff --git a/exporter/mezmoexporter/config_test.go b/exporter/mezmoexporter/config_test.go index 75a3607a4f82..aa2e9b789e84 100644 --- a/exporter/mezmoexporter/config_test.go +++ b/exporter/mezmoexporter/config_test.go @@ -13,6 +13,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/confmap/confmaptest" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -42,7 +43,12 @@ func TestLoadConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "allsettings"), expected: &Config{ ClientConfig: confighttp.ClientConfig{ - Timeout: 5 * time.Second, + Timeout: 5 * time.Second, + MaxIdleConns: &defaultMaxIdleConns, + MaxIdleConnsPerHost: &defaultMaxIdleConnsPerHost, + MaxConnsPerHost: &defaultMaxConnsPerHost, + IdleConnTimeout: &defaultIdleConnTimeout, + Headers: map[string]configopaque.String{}, }, BackOffConfig: configretry.BackOffConfig{ Enabled: false, @@ -52,7 +58,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: false, NumConsumers: 7, QueueSize: 17, diff --git a/exporter/mezmoexporter/exporter_test.go b/exporter/mezmoexporter/exporter_test.go index a6299ec0f689..868cdf8153bf 100644 --- a/exporter/mezmoexporter/exporter_test.go +++ b/exporter/mezmoexporter/exporter_test.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest/observer" @@ -212,7 +212,7 @@ func TestAddsRequiredAttributes(t *testing.T) { lines := body.Lines for _, line := range lines { - assert.Greater(t, line.Timestamp, int64(0)) + assert.Positive(t, line.Timestamp) assert.Equal(t, "info", line.Level) assert.Equal(t, "", line.App) assert.Equal(t, "minimal attribute log", line.Line) @@ -268,5 +268,5 @@ func Test404IngestError(t *testing.T) { responseField := logLine.Context[0] assert.Equal(t, "response", responseField.Key) - assert.Equal(t, `{"foo":"bar"}`, responseField.String) + assert.JSONEq(t, `{"foo":"bar"}`, responseField.String) } diff --git a/exporter/mezmoexporter/factory.go b/exporter/mezmoexporter/factory.go index 08a89928a9a3..88eeb8ad1699 100644 --- a/exporter/mezmoexporter/factory.go +++ b/exporter/mezmoexporter/factory.go @@ -29,7 +29,7 @@ func createDefaultConfig() component.Config { return &Config{ ClientConfig: createDefaultClientConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), IngestURL: defaultIngestURL, } } @@ -45,13 +45,13 @@ func createLogsExporter(ctx context.Context, settings exporter.Settings, exporte exp := newLogsExporter(expCfg, settings.TelemetrySettings, settings.BuildInfo, log) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, settings, expCfg, exp.pushLogData, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(expCfg.BackOffConfig), exporterhelper.WithQueue(expCfg.QueueSettings), exporterhelper.WithStart(exp.start), diff --git a/exporter/mezmoexporter/factory_test.go b/exporter/mezmoexporter/factory_test.go index 2d86751b4831..f08a3b34f4f3 100644 --- a/exporter/mezmoexporter/factory_test.go +++ b/exporter/mezmoexporter/factory_test.go @@ -5,12 +5,14 @@ package mezmoexporter import ( "context" + "net/http" "testing" "time" "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter/exporterhelper" "go.opentelemetry.io/collector/exporter/exportertest" @@ -24,6 +26,11 @@ func TestType(t *testing.T) { assert.Equal(t, pType, metadata.Type) } +var defaultMaxIdleConns = http.DefaultTransport.(*http.Transport).MaxIdleConns +var defaultMaxIdleConnsPerHost = http.DefaultTransport.(*http.Transport).MaxIdleConnsPerHost +var defaultMaxConnsPerHost = http.DefaultTransport.(*http.Transport).MaxConnsPerHost +var defaultIdleConnTimeout = http.DefaultTransport.(*http.Transport).IdleConnTimeout + func TestCreateDefaultConfig(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() @@ -33,10 +40,15 @@ func TestCreateDefaultConfig(t *testing.T) { IngestKey: "", ClientConfig: confighttp.ClientConfig{ - Timeout: 5 * time.Second, + Timeout: 5 * time.Second, + MaxIdleConns: &defaultMaxIdleConns, + MaxIdleConnsPerHost: &defaultMaxIdleConnsPerHost, + MaxConnsPerHost: &defaultMaxConnsPerHost, + IdleConnTimeout: &defaultIdleConnTimeout, + Headers: map[string]configopaque.String{}, }, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), }, cfg) assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } @@ -49,7 +61,7 @@ func TestIngestUrlMustConform(t *testing.T) { assert.Error(t, cfg.Validate(), `"ingest_url" must contain a valid host`) } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.IngestURL = "https://example.com:8088/otel/ingest/rest" cfg.IngestKey = "1234-1234" @@ -59,7 +71,7 @@ func TestCreateLogsExporter(t *testing.T) { assert.NoError(t, err) } -func TestCreateLogsExporterNoConfig(t *testing.T) { +func TestCreateLogsNoConfig(t *testing.T) { params := exportertest.NewNopSettings() _, err := createLogsExporter(context.Background(), params, nil) assert.Error(t, err) diff --git a/exporter/mezmoexporter/generated_component_test.go b/exporter/mezmoexporter/generated_component_test.go index 08d9dedd0116..c83dbc0a4e7a 100644 --- a/exporter/mezmoexporter/generated_component_test.go +++ b/exporter/mezmoexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/mezmoexporter/go.mod b/exporter/mezmoexporter/go.mod index adf4ba1fd430..80aec612da62 100644 --- a/exporter/mezmoexporter/go.mod +++ b/exporter/mezmoexporter/go.mod @@ -5,33 +5,31 @@ go 1.22.0 require ( github.com/cenkalti/backoff/v4 v4.3.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -39,45 +37,40 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/mezmoexporter/go.sum b/exporter/mezmoexporter/go.sum index e4a1eaeb3525..c0a144e380e0 100644 --- a/exporter/mezmoexporter/go.sum +++ b/exporter/mezmoexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -16,8 +12,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -27,14 +23,12 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -45,8 +39,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -56,20 +48,12 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -78,74 +62,74 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -161,20 +145,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -185,10 +169,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/opencensusexporter/config.go b/exporter/opencensusexporter/config.go index 7890a95609c0..b241147f048b 100644 --- a/exporter/opencensusexporter/config.go +++ b/exporter/opencensusexporter/config.go @@ -12,9 +12,9 @@ import ( // Config defines configuration for OpenCensus exporter. type Config struct { - configgrpc.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + configgrpc.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // The number of workers that send the gRPC requests. NumWorkers int `mapstructure:"num_workers"` diff --git a/exporter/opencensusexporter/config_test.go b/exporter/opencensusexporter/config_test.go index e60fbd9a13fd..f3b8fc991dff 100644 --- a/exporter/opencensusexporter/config_test.go +++ b/exporter/opencensusexporter/config_test.go @@ -44,7 +44,7 @@ func TestLoadConfig(t *testing.T) { MaxInterval: 1 * time.Minute, MaxElapsedTime: 10 * time.Minute, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/exporter/opencensusexporter/factory.go b/exporter/opencensusexporter/factory.go index a421df9e5818..d6821b8e0662 100644 --- a/exporter/opencensusexporter/factory.go +++ b/exporter/opencensusexporter/factory.go @@ -41,7 +41,7 @@ func createTracesExporter(ctx context.Context, set exporter.Settings, cfg compon return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -60,7 +60,7 @@ func createMetricsExporter(ctx context.Context, set exporter.Settings, cfg compo return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, diff --git a/exporter/opencensusexporter/factory_test.go b/exporter/opencensusexporter/factory_test.go index 0b00c369e693..51cd2b7b7fe0 100644 --- a/exporter/opencensusexporter/factory_test.go +++ b/exporter/opencensusexporter/factory_test.go @@ -26,7 +26,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { endpoint := testutil.GetAvailableLocalAddress(t) tests := []struct { name string diff --git a/exporter/opencensusexporter/generated_component_test.go b/exporter/opencensusexporter/generated_component_test.go index 914a148acd1f..44180376cda0 100644 --- a/exporter/opencensusexporter/generated_component_test.go +++ b/exporter/opencensusexporter/generated_component_test.go @@ -38,14 +38,14 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -57,21 +57,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/opencensusexporter/go.mod b/exporter/opencensusexporter/go.mod index 6aef89ba81f7..402d92785f6a 100644 --- a/exporter/opencensusexporter/go.mod +++ b/exporter/opencensusexporter/go.mod @@ -4,35 +4,34 @@ go 1.22.0 require ( github.com/census-instrumentation/opencensus-proto v0.4.1 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configgrpc v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pdata/testdata v0.112.0 + go.opentelemetry.io/collector/receiver v0.112.0 go.uber.org/goleak v1.3.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect @@ -50,49 +49,44 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/soheilhy/cmux v0.1.5 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/opencensusexporter/go.sum b/exporter/opencensusexporter/go.sum index 7678cb2990dd..ef1e150a8cd2 100644 --- a/exporter/opencensusexporter/go.sum +++ b/exporter/opencensusexporter/go.sum @@ -1,7 +1,5 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -25,8 +23,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -79,8 +77,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -92,21 +88,11 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= @@ -124,78 +110,80 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -221,8 +209,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -233,12 +221,12 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -258,15 +246,15 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -276,8 +264,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/opencensusexporter/opencensus_test.go b/exporter/opencensusexporter/opencensus_test.go index 884129f4ec15..9e03306cf174 100644 --- a/exporter/opencensusexporter/opencensus_test.go +++ b/exporter/opencensusexporter/opencensus_test.go @@ -30,7 +30,7 @@ func TestSendTraces(t *testing.T) { endpoint := testutil.GetAvailableLocalAddress(t) rCfg.ServerConfig.NetAddr.Endpoint = endpoint set := receivertest.NewNopSettings() - recv, err := rFactory.CreateTracesReceiver(context.Background(), set, rCfg, sink) + recv, err := rFactory.CreateTraces(context.Background(), set, rCfg, sink) assert.NoError(t, err) assert.NoError(t, recv.Start(context.Background(), componenttest.NewNopHost())) t.Cleanup(func() { @@ -46,7 +46,7 @@ func TestSendTraces(t *testing.T) { }, } cfg.NumWorkers = 1 - exp, err := factory.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := factory.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NotNil(t, exp) host := componenttest.NewNopHost() @@ -87,7 +87,7 @@ func TestSendTraces_NoBackend(t *testing.T) { Insecure: true, }, } - exp, err := factory.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := factory.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NotNil(t, exp) host := componenttest.NewNopHost() @@ -111,7 +111,7 @@ func TestSendTraces_AfterStop(t *testing.T) { Insecure: true, }, } - exp, err := factory.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := factory.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NotNil(t, exp) host := componenttest.NewNopHost() @@ -129,7 +129,7 @@ func TestSendMetrics(t *testing.T) { endpoint := testutil.GetAvailableLocalAddress(t) rCfg.ServerConfig.NetAddr.Endpoint = endpoint set := receivertest.NewNopSettings() - recv, err := rFactory.CreateMetricsReceiver(context.Background(), set, rCfg, sink) + recv, err := rFactory.CreateMetrics(context.Background(), set, rCfg, sink) assert.NoError(t, err) assert.NoError(t, recv.Start(context.Background(), componenttest.NewNopHost())) t.Cleanup(func() { @@ -145,7 +145,7 @@ func TestSendMetrics(t *testing.T) { }, } cfg.NumWorkers = 1 - exp, err := factory.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := factory.CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NotNil(t, exp) host := componenttest.NewNopHost() @@ -184,7 +184,7 @@ func TestSendMetrics_NoBackend(t *testing.T) { Insecure: true, }, } - exp, err := factory.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := factory.CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NotNil(t, exp) host := componenttest.NewNopHost() @@ -208,7 +208,7 @@ func TestSendMetrics_AfterStop(t *testing.T) { Insecure: true, }, } - exp, err := factory.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exp, err := factory.CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NotNil(t, exp) host := componenttest.NewNopHost() diff --git a/exporter/opensearchexporter/config.go b/exporter/opensearchexporter/config.go index c8546a6d407a..e31fdb37f807 100644 --- a/exporter/opensearchexporter/config.go +++ b/exporter/opensearchexporter/config.go @@ -28,10 +28,10 @@ const ( // Config defines configuration for OpenSearch exporter. type Config struct { - confighttp.ClientConfig `mapstructure:"http"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - exporterhelper.TimeoutSettings `mapstructure:",squash"` - MappingsSettings `mapstructure:"mapping"` + confighttp.ClientConfig `mapstructure:"http"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` + MappingsSettings `mapstructure:"mapping"` // The Observability indices would follow the recommended for immutable data stream ingestion pattern using // the data_stream concepts. See https://opensearch.org/docs/latest/dashboards/im-dashboards/datastream/ diff --git a/exporter/opensearchexporter/config_test.go b/exporter/opensearchexporter/config_test.go index d6840945c588..921ce1a00428 100644 --- a/exporter/opensearchexporter/config_test.go +++ b/exporter/opensearchexporter/config_test.go @@ -44,6 +44,13 @@ func TestLoadConfig(t *testing.T) { expected: sampleCfg, configValidateAssert: assert.NoError, }, + { + id: component.NewIDWithName(metadata.Type, "default"), + expected: withDefaultConfig(), + configValidateAssert: func(t assert.TestingT, err error, _ ...any) bool { + return assert.ErrorContains(t, err, "endpoint must be specified") + }, + }, { id: component.NewIDWithName(metadata.Type, "trace"), expected: &Config{ diff --git a/exporter/opensearchexporter/factory.go b/exporter/opensearchexporter/factory.go index a10073ca04ae..4e577884f20c 100644 --- a/exporter/opensearchexporter/factory.go +++ b/exporter/opensearchexporter/factory.go @@ -41,14 +41,12 @@ func newDefaultConfig() component.Config { func createTracesExporter(ctx context.Context, set exporter.Settings, - cfg component.Config) (exporter.Traces, error) { + cfg component.Config, +) (exporter.Traces, error) { c := cfg.(*Config) - te, e := newSSOTracesExporter(c, set) - if e != nil { - return nil, e - } + te := newSSOTracesExporter(c, set) - return exporterhelper.NewTracesExporter(ctx, set, cfg, + return exporterhelper.NewTraces(ctx, set, cfg, te.pushTraceData, exporterhelper.WithStart(te.Start), exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), @@ -58,14 +56,12 @@ func createTracesExporter(ctx context.Context, func createLogsExporter(ctx context.Context, set exporter.Settings, - cfg component.Config) (exporter.Logs, error) { + cfg component.Config, +) (exporter.Logs, error) { c := cfg.(*Config) - le, e := newLogExporter(c, set) - if e != nil { - return nil, e - } + le := newLogExporter(c, set) - return exporterhelper.NewLogsExporter(ctx, set, cfg, + return exporterhelper.NewLogs(ctx, set, cfg, le.pushLogData, exporterhelper.WithStart(le.Start), exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}), diff --git a/exporter/opensearchexporter/factory_test.go b/exporter/opensearchexporter/factory_test.go index f64dd285231a..ab9e6a81e021 100644 --- a/exporter/opensearchexporter/factory_test.go +++ b/exporter/opensearchexporter/factory_test.go @@ -20,50 +20,26 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestFactory_CreateMetricsExporter_Fail(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - params := exportertest.NewNopSettings() - _, err := factory.CreateMetricsExporter(context.Background(), params, cfg) - require.Error(t, err, "expected an error when creating a metrics exporter") -} - -func TestFactory_CreateTracesExporter_Fail(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - params := exportertest.NewNopSettings() - _, err := factory.CreateTracesExporter(context.Background(), params, cfg) - require.Error(t, err, "expected an error when creating a traces exporter") -} - -func TestFactory_CreateLogsExporter_Fail(t *testing.T) { - factory := NewFactory() - cfg := factory.CreateDefaultConfig() - params := exportertest.NewNopSettings() - _, err := factory.CreateLogsExporter(context.Background(), params, cfg) - require.Error(t, err, "expected an error when creating a logs exporter") -} - -func TestFactory_CreateTracesExporter(t *testing.T) { +func TestFactory_CreateTraces(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoint = "https://opensearch.example.com:9200" }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) require.NoError(t, exporter.Shutdown(context.TODO())) } -func TestFactory_CreateLogsExporter(t *testing.T) { +func TestFactory_CreateLogs(t *testing.T) { factory := NewFactory() cfg := withDefaultConfig(func(cfg *Config) { cfg.Endpoint = "https://opensearch.example.com:9200" }) params := exportertest.NewNopSettings() - exporter, err := factory.CreateLogsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateLogs(context.Background(), params, cfg) require.NoError(t, err) require.NotNil(t, exporter) diff --git a/exporter/opensearchexporter/generated_component_test.go b/exporter/opensearchexporter/generated_component_test.go index 76f844de03cc..45e863024899 100644 --- a/exporter/opensearchexporter/generated_component_test.go +++ b/exporter/opensearchexporter/generated_component_test.go @@ -38,14 +38,14 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -57,21 +57,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/opensearchexporter/go.mod b/exporter/opensearchexporter/go.mod index 471f4d5568d5..acc563228f34 100644 --- a/exporter/opensearchexporter/go.mod +++ b/exporter/opensearchexporter/go.mod @@ -3,44 +3,40 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opense go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 github.com/opensearch-project/opensearch-go/v2 v2.3.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configauth v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) @@ -55,7 +51,7 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -65,26 +61,24 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../../pkg/pdatautil diff --git a/exporter/opensearchexporter/go.sum b/exporter/opensearchexporter/go.sum index e23955848e09..5a2900b58356 100644 --- a/exporter/opensearchexporter/go.sum +++ b/exporter/opensearchexporter/go.sum @@ -11,8 +11,6 @@ github.com/aws/aws-sdk-go-v2/service/sso v1.12.10/go.mod h1:ouy2P4z6sJN70fR3ka3w github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10/go.mod h1:AFvkxc8xfBe8XA+5St5XIHHrQQtkxqrRincx4hmMHOk= github.com/aws/aws-sdk-go-v2/service/sts v1.19.0/go.mod h1:BgQOMsg8av8jset59jelyPW7NoZcZXLVpDsXunGDrk8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -31,8 +29,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -43,16 +41,14 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -63,8 +59,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -74,23 +68,15 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/opensearch-project/opensearch-go/v2 v2.3.0 h1:nQIEMr+A92CkhHrZgUhcfsrZjibvB3APXf2a1VwCmMQ= github.com/opensearch-project/opensearch-go/v2 v2.3.0/go.mod h1:8LDr9FCgUTVoT+5ESjc2+iaZuldqE+23Iq0r1XeNue8= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -106,72 +92,72 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -193,8 +179,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -208,8 +194,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -219,8 +205,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -232,10 +218,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/opensearchexporter/integration_test.go b/exporter/opensearchexporter/integration_test.go index 22d4d06a0580..f8c108a724ec 100644 --- a/exporter/opensearchexporter/integration_test.go +++ b/exporter/opensearchexporter/integration_test.go @@ -12,6 +12,7 @@ import ( "os" "testing" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/consumer/consumererror" @@ -112,13 +113,13 @@ func TestOpenSearchTraceExporter(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { var err error docs := getReceivedDocuments(r.Body) - require.LessOrEqualf(t, requestCount, len(tc.RequestHandlers), "Test case generated more requests than it has response for.") + assert.LessOrEqualf(t, requestCount, len(tc.RequestHandlers), "Test case generated more requests than it has response for.") tc.RequestHandlers[requestCount].ValidateReceivedDocuments(t, requestCount, docs) w.WriteHeader(200) response, _ := os.ReadFile(tc.RequestHandlers[requestCount].ResponseJSONPath) _, err = w.Write(response) - require.NoError(t, err) + assert.NoError(t, err) requestCount++ })) @@ -130,7 +131,7 @@ func TestOpenSearchTraceExporter(t *testing.T) { // Create exporter f := NewFactory() - exporter, err := f.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exporter, err := f.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) // Initialize the exporter @@ -242,13 +243,13 @@ func TestOpenSearchLogExporter(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { var err error docs := getReceivedDocuments(r.Body) - require.LessOrEqualf(t, requestCount, len(tc.RequestHandlers), "Test case generated more requests than it has response for.") + assert.LessOrEqualf(t, requestCount, len(tc.RequestHandlers), "Test case generated more requests than it has response for.") tc.RequestHandlers[requestCount].ValidateReceivedDocuments(t, requestCount, docs) w.WriteHeader(200) response, _ := os.ReadFile(tc.RequestHandlers[requestCount].ResponseJSONPath) _, err = w.Write(response) - require.NoError(t, err) + assert.NoError(t, err) requestCount++ })) @@ -260,7 +261,7 @@ func TestOpenSearchLogExporter(t *testing.T) { // Create exporter f := NewFactory() - exporter, err := f.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exporter, err := f.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) // Initialize the exporter diff --git a/exporter/opensearchexporter/sso_log_exporter.go b/exporter/opensearchexporter/sso_log_exporter.go index bfa34d90d1f1..fe3584f3e0f0 100644 --- a/exporter/opensearchexporter/sso_log_exporter.go +++ b/exporter/opensearchexporter/sso_log_exporter.go @@ -23,11 +23,7 @@ type logExporter struct { telemetry component.TelemetrySettings } -func newLogExporter(cfg *Config, set exporter.Settings) (*logExporter, error) { - if err := cfg.Validate(); err != nil { - return nil, err - } - +func newLogExporter(cfg *Config, set exporter.Settings) *logExporter { model := &encodeModel{ dedup: cfg.Dedup, dedot: cfg.Dedot, @@ -45,7 +41,7 @@ func newLogExporter(cfg *Config, set exporter.Settings) (*logExporter, error) { bulkAction: cfg.BulkAction, httpSettings: cfg.ClientConfig, model: model, - }, nil + } } func (l *logExporter) Start(ctx context.Context, host component.Host) error { diff --git a/exporter/opensearchexporter/sso_trace_exporter.go b/exporter/opensearchexporter/sso_trace_exporter.go index fdc6dab67e87..3c0f2e4b2211 100644 --- a/exporter/opensearchexporter/sso_trace_exporter.go +++ b/exporter/opensearchexporter/sso_trace_exporter.go @@ -25,11 +25,7 @@ type ssoTracesExporter struct { telemetry component.TelemetrySettings } -func newSSOTracesExporter(cfg *Config, set exporter.Settings) (*ssoTracesExporter, error) { - if err := cfg.Validate(); err != nil { - return nil, err - } - +func newSSOTracesExporter(cfg *Config, set exporter.Settings) *ssoTracesExporter { model := &encodeModel{ dataset: cfg.Dataset, namespace: cfg.Namespace, @@ -42,7 +38,7 @@ func newSSOTracesExporter(cfg *Config, set exporter.Settings) (*ssoTracesExporte bulkAction: cfg.BulkAction, model: model, httpSettings: cfg.ClientConfig, - }, nil + } } func (s *ssoTracesExporter) Start(ctx context.Context, host component.Host) error { diff --git a/exporter/opensearchexporter/testdata/config.yaml b/exporter/opensearchexporter/testdata/config.yaml index a187af23318e..2f967002ed96 100644 --- a/exporter/opensearchexporter/testdata/config.yaml +++ b/exporter/opensearchexporter/testdata/config.yaml @@ -7,6 +7,8 @@ opensearch: http: endpoint: https://opensearch.example.com:9200 +opensearch/default: + opensearch/empty_namespace: dataset: ngnix namespace: "" diff --git a/exporter/otelarrowexporter/README.md b/exporter/otelarrowexporter/README.md index 7fa7cdd3b904..f9b271835d6d 100644 --- a/exporter/otelarrowexporter/README.md +++ b/exporter/otelarrowexporter/README.md @@ -4,11 +4,13 @@ | Status | | | ------------- |-----------| | Stability | [beta]: traces, metrics, logs | -| Distributions | [] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Fotelarrow%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Fotelarrow) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Fotelarrow%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Fotelarrow) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jmacd](https://www.github.com/jmacd), [@moh-osman3](https://www.github.com/moh-osman3), [@lquerel](https://www.github.com/lquerel) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta +[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s Exports telemetry data using [OpenTelemetry Protocol with Apache @@ -101,20 +103,40 @@ to standard OTLP. - `disabled` (default: false): disables use of Arrow, causing the exporter to use standard OTLP - `disable_downgrade` (default: false): prevents this exporter from using standard OTLP. -The following settings determine the resources that the exporter will use: +The following setting determines how long a stream will stay open. +Stream lifetime is limited to 30 seconds because compression benefit +is limited at that point and shorter streams make load balancing +easier. -- `num_streams` (default: number of CPUs): the number of concurrent Arrow streams -- `max_stream_lifetime` (default: unlimited): duration after which streams are recycled. +- `max_stream_lifetime` (default: 30s): duration after which streams + are recycled. -When `num_streams` is greater than one, a configurable policy -determines how load is assigned across streams. The supported -policies are `leastloaded`, which picks the stream with the smallest -number of outstanding requests, and `leastloadedN` for `N <= -num_streams`, which limits the decision to a random subset of `N` -streams. +The following setting determines memory and CPU resources that the +exporter will use: + +- `num_streams` (default: `max(1, NumCPU()/2)`): the number of concurrent Arrow streams + +The `num_streams` default limits the exporter stream count to half the +number of CPUs or 1, whichever is greater. When `num_streams` is +greater than one, a configurable policy determines how load is +assigned across streams to balance load. The supported policies are +`leastloaded`, which picks the stream with the smallest number of +outstanding requests, and `leastloadedN` for `N <= num_streams`, which +limits the decision to a random subset of `N` streams. - `prioritizer` (default: "leastloaded"): policy for distributing load across multiple streams. +### Matching Metadata Per Stream + +The following configuration values allow for separate streams per unique +metadata combinations: +- `metadata_keys` (default = empty): When set, this exporter will create one + arrow exporter instance per distinct combination of values in the + client.Metadata. +- `metadata_cardinality_limit` (default = 1000): When metadata_keys is not empty, + this setting limits the number of unique combinations of metadata key values + that will be processed over the lifetime of the exporter. + ### Network Configuration This component uses `round_robin` by default as the gRPC load @@ -218,12 +240,12 @@ The exporter supports configuring compression at the [Arrow columnar-protocol level](https://arrow.apache.org/docs/format/Columnar.html#format-ipc). -- `payload_compression`: compression applied at the Arrow IPC level, "none" by default, "zstd" supported. +- `payload_compression` (default "zstd"): compression applied at the Arrow IPC level. -Compression settings at the Arrow IPC level cannot be further -configured. We do not recommend configuring both payload and -gRPC-level compression at once, hwoever these settings are -independent. +Compression at the Arrow level is enabled by default because it boosts +compression slightly and helps Arrow payloads meet gRPC maximum +request size limits. Compression settings at the Arrow IPC level +cannot be further configured. For example, two exporters may be configured with multiple zstd configurations, provided they use different levels: @@ -241,3 +263,47 @@ exporters: zstd: level: 1 # 1 is the "fastest" compression level ``` + +### Batching Configuration + +This exporter includes a new, experimental `batcher` configuration for +batching in the `exporterhelper` module, but this mode is disabled by +default. This batching support works when combined with +`queue_sender` functionality. + +``` +exporters: + otelarrow: + batcher: + enabled: true + sending_queue: + enabled: true + storage: file_storage/otc +extensions: + file_storage/otc: + directory: /var/lib/storage/otc +``` + +The built-in batcher is only recommended with a persistent queue, +otherwise it cannot provide back-pressure to the caller. If building +a custom build of the OpenTelemetry Collector, we recommend using the +[Concurrent Batch +Processor](https://github.com/open-telemetry/otel-arrow/blob/main/collector/processor/concurrentbatchprocessor/README.md) +to provide simultaneous back-pressure, concurrency, and batching +functionality. See [more discussion on this +issue](https://github.com/open-telemetry/opentelemetry-collector/issues/10368). + +``` +exporters: + otelarrow: + batcher: + enabled: false + sending_queue: + enabled: false +processors: + concurrentbatch: + send_batch_max_size: 1500 + send_batch_size: 1000 + timeout: 1s + max_in_flight_size_mib: 128 +``` diff --git a/exporter/otelarrowexporter/config.go b/exporter/otelarrowexporter/config.go index cddb25d7b777..9786e203a3c5 100644 --- a/exporter/otelarrowexporter/config.go +++ b/exporter/otelarrowexporter/config.go @@ -5,6 +5,7 @@ package otelarrowexporter // import "github.com/open-telemetry/opentelemetry-col import ( "fmt" + "strings" "time" "github.com/open-telemetry/otel-arrow/pkg/config" @@ -12,6 +13,7 @@ import ( "go.opentelemetry.io/collector/config/configcompression" "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/config/configretry" + "go.opentelemetry.io/collector/exporter/exporterbatcher" "go.opentelemetry.io/collector/exporter/exporterhelper" "google.golang.org/grpc" @@ -25,13 +27,17 @@ type Config struct { // inherited from exporterhelper using field names // intentionally identical to the core OTLP exporter. - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` RetryConfig configretry.BackOffConfig `mapstructure:"retry_on_failure"` configgrpc.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + // Experimental: This configuration is at the early stage of development and may change without backward compatibility + // until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved + BatcherConfig exporterbatcher.Config `mapstructure:"batcher"` + // Arrow includes settings specific to OTel Arrow. Arrow ArrowConfig `mapstructure:"arrow"` @@ -40,6 +46,23 @@ type Config struct { // exporter is built and configured via code instead of yaml. // Uses include custom dialer, custom user-agent, etc. UserDialOptions []grpc.DialOption `mapstructure:"-"` + + // MetadataKeys is a list of client.Metadata keys that will be + // used to form distinct exporters. If this setting is empty, + // a single exporter instance will be used. When this setting + // is not empty, one exporter will be used per distinct + // combination of values for the listed metadata keys. + // + // Empty value and unset metadata are treated as distinct cases. + // + // Entries are case-insensitive. Duplicated entries will + // trigger a validation error. + MetadataKeys []string `mapstructure:"metadata_keys"` + + // MetadataCardinalityLimit indicates the maximum number of + // exporter instances that will be created through a distinct + // combination of MetadataKeys. + MetadataCardinalityLimit uint32 `mapstructure:"metadata_cardinality_limit"` } // ArrowConfig includes whether Arrow is enabled and the number of @@ -85,6 +108,24 @@ var _ component.Config = (*Config)(nil) var _ component.ConfigValidator = (*ArrowConfig)(nil) +func (cfg *Config) Validate() error { + err := cfg.Arrow.Validate() + if err != nil { + return err + } + + uniq := map[string]bool{} + for _, k := range cfg.MetadataKeys { + l := strings.ToLower(k) + if _, has := uniq[l]; has { + return fmt.Errorf("duplicate entry in metadata_keys: %q (case-insensitive)", l) + } + uniq[l] = true + } + + return nil +} + // Validate returns an error when the number of streams is less than 1. func (cfg *ArrowConfig) Validate() error { if cfg.NumStreams < 1 { diff --git a/exporter/otelarrowexporter/config_test.go b/exporter/otelarrowexporter/config_test.go index 9bd63f546147..7ad1a0a633b5 100644 --- a/exporter/otelarrowexporter/config_test.go +++ b/exporter/otelarrowexporter/config_test.go @@ -20,6 +20,7 @@ import ( "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/config/configtls" "go.opentelemetry.io/collector/confmap/confmaptest" + "go.opentelemetry.io/collector/exporter/exporterbatcher" "go.opentelemetry.io/collector/exporter/exporterhelper" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter/internal/arrow" @@ -45,7 +46,7 @@ func TestUnmarshalConfig(t *testing.T) { assert.NoError(t, cm.Unmarshal(cfg)) assert.Equal(t, &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, RetryConfig: configretry.BackOffConfig{ @@ -56,7 +57,7 @@ func TestUnmarshalConfig(t *testing.T) { MaxInterval: 1 * time.Minute, MaxElapsedTime: 10 * time.Minute, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -84,6 +85,16 @@ func TestUnmarshalConfig(t *testing.T) { BalancerName: "experimental", Auth: &configauth.Authentication{AuthenticatorID: component.NewID(component.MustNewType("nop"))}, }, + BatcherConfig: exporterbatcher.Config{ + Enabled: true, + FlushTimeout: 200 * time.Millisecond, + MinSizeConfig: exporterbatcher.MinSizeConfig{ + MinSizeItems: 1000, + }, + MaxSizeConfig: exporterbatcher.MaxSizeConfig{ + MaxSizeItems: 10000, + }, + }, Arrow: ArrowConfig{ NumStreams: 2, MaxStreamLifetime: 2 * time.Hour, diff --git a/exporter/otelarrowexporter/factory.go b/exporter/otelarrowexporter/factory.go index 974d9c544007..6c8dfbfa5864 100644 --- a/exporter/otelarrowexporter/factory.go +++ b/exporter/otelarrowexporter/factory.go @@ -5,8 +5,6 @@ package otelarrowexporter // import "github.com/open-telemetry/opentelemetry-col import ( "context" - "runtime" - "time" arrowpb "github.com/open-telemetry/otel-arrow/api/experimental/arrow/v1" "go.opentelemetry.io/collector/component" @@ -16,6 +14,7 @@ import ( "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/exporter" + "go.opentelemetry.io/collector/exporter/exporterbatcher" "go.opentelemetry.io/collector/exporter/exporterhelper" "google.golang.org/grpc" @@ -37,10 +36,14 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { + batcherCfg := exporterbatcher.NewDefaultConfig() + batcherCfg.Enabled = false + return &Config{ - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), RetryConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + BatcherConfig: batcherCfg, ClientConfig: configgrpc.ClientConfig{ Headers: map[string]configopaque.String{}, // Default to zstd compression @@ -54,27 +57,28 @@ func createDefaultConfig() component.Config { BalancerName: "round_robin", }, Arrow: ArrowConfig{ - NumStreams: runtime.NumCPU(), - MaxStreamLifetime: time.Hour, + NumStreams: arrow.DefaultNumStreams, + MaxStreamLifetime: arrow.DefaultMaxStreamLifetime, Zstd: zstd.DefaultEncoderConfig(), Prioritizer: arrow.DefaultPrioritizer, - // PayloadCompression is off by default because gRPC - // compression is on by default, above. - PayloadCompression: "", + // Note the default payload compression is + PayloadCompression: arrow.DefaultPayloadCompression, }, } } -func (exp *baseExporter) helperOptions() []exporterhelper.Option { +func helperOptions(e exp) []exporterhelper.Option { + cfg := e.getConfig().(*Config) return []exporterhelper.Option{ exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), - exporterhelper.WithTimeout(exp.config.TimeoutSettings), - exporterhelper.WithRetry(exp.config.RetryConfig), - exporterhelper.WithQueue(exp.config.QueueSettings), - exporterhelper.WithStart(exp.start), - exporterhelper.WithShutdown(exp.shutdown), + exporterhelper.WithTimeout(cfg.TimeoutSettings), + exporterhelper.WithRetry(cfg.RetryConfig), + exporterhelper.WithQueue(cfg.QueueSettings), + exporterhelper.WithStart(e.start), + exporterhelper.WithBatcher(cfg.BatcherConfig), + exporterhelper.WithShutdown(e.shutdown), } } @@ -97,13 +101,13 @@ func createTracesExporter( set exporter.Settings, cfg component.Config, ) (exporter.Traces, error) { - exp, err := newExporter(cfg, set, createArrowTracesStream) + e, err := newMetadataExporter(cfg, set, createArrowTracesStream) if err != nil { return nil, err } - return exporterhelper.NewTracesExporter(ctx, exp.settings, exp.config, - exp.pushTraces, - exp.helperOptions()..., + return exporterhelper.NewTraces(ctx, e.getSettings(), e.getConfig(), + e.pushTraces, + helperOptions(e)..., ) } @@ -116,13 +120,13 @@ func createMetricsExporter( set exporter.Settings, cfg component.Config, ) (exporter.Metrics, error) { - exp, err := newExporter(cfg, set, createArrowMetricsStream) + e, err := newMetadataExporter(cfg, set, createArrowMetricsStream) if err != nil { return nil, err } - return exporterhelper.NewMetricsExporter(ctx, exp.settings, exp.config, - exp.pushMetrics, - exp.helperOptions()..., + return exporterhelper.NewMetrics(ctx, e.getSettings(), e.getConfig(), + e.pushMetrics, + helperOptions(e)..., ) } @@ -135,12 +139,12 @@ func createLogsExporter( set exporter.Settings, cfg component.Config, ) (exporter.Logs, error) { - exp, err := newExporter(cfg, set, createArrowLogsStream) + e, err := newMetadataExporter(cfg, set, createArrowLogsStream) if err != nil { return nil, err } - return exporterhelper.NewLogsExporter(ctx, exp.settings, exp.config, - exp.pushLogs, - exp.helperOptions()..., + return exporterhelper.NewLogs(ctx, e.getSettings(), e.getConfig(), + e.pushLogs, + helperOptions(e)..., ) } diff --git a/exporter/otelarrowexporter/factory_test.go b/exporter/otelarrowexporter/factory_test.go index 66ece922ef06..ea3430d0ac96 100644 --- a/exporter/otelarrowexporter/factory_test.go +++ b/exporter/otelarrowexporter/factory_test.go @@ -31,34 +31,33 @@ func TestCreateDefaultConfig(t *testing.T) { cfg := factory.CreateDefaultConfig() assert.NotNil(t, cfg, "failed to create default config") assert.NoError(t, componenttest.CheckConfigStruct(cfg)) - ocfg, ok := factory.CreateDefaultConfig().(*Config) - assert.True(t, ok) + ocfg := factory.CreateDefaultConfig().(*Config) assert.Equal(t, ocfg.RetryConfig, configretry.NewDefaultBackOffConfig()) - assert.Equal(t, ocfg.QueueSettings, exporterhelper.NewDefaultQueueSettings()) - assert.Equal(t, ocfg.TimeoutSettings, exporterhelper.NewDefaultTimeoutSettings()) + assert.Equal(t, ocfg.QueueSettings, exporterhelper.NewDefaultQueueConfig()) + assert.Equal(t, ocfg.TimeoutSettings, exporterhelper.NewDefaultTimeoutConfig()) assert.Equal(t, configcompression.TypeZstd, ocfg.Compression) assert.Equal(t, ArrowConfig{ Disabled: false, - NumStreams: runtime.NumCPU(), - MaxStreamLifetime: time.Hour, - PayloadCompression: "", + NumStreams: max(1, runtime.NumCPU()/2), + MaxStreamLifetime: 30 * time.Second, + PayloadCompression: "zstd", Zstd: zstd.DefaultEncoderConfig(), Prioritizer: arrow.DefaultPrioritizer, }, ocfg.Arrow) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) cfg.ClientConfig.Endpoint = testutil.GetAvailableLocalAddress(t) set := exportertest.NewNopSettings() - oexp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + oexp, err := factory.CreateMetrics(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, oexp) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { endpoint := testutil.GetAvailableLocalAddress(t) tests := []struct { name string @@ -189,7 +188,7 @@ func TestCreateTracesExporter(t *testing.T) { factory := NewFactory() set := exportertest.NewNopSettings() cfg := tt.config - consumer, err := factory.CreateTracesExporter(context.Background(), set, &cfg) + consumer, err := factory.CreateTraces(context.Background(), set, &cfg) if tt.mustFailOnCreate { assert.Error(t, err) return @@ -213,13 +212,13 @@ func TestCreateTracesExporter(t *testing.T) { } } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig().(*Config) cfg.ClientConfig.Endpoint = testutil.GetAvailableLocalAddress(t) set := exportertest.NewNopSettings() - oexp, err := factory.CreateLogsExporter(context.Background(), set, cfg) + oexp, err := factory.CreateLogs(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, oexp) } @@ -232,7 +231,7 @@ func TestCreateArrowTracesExporter(t *testing.T) { NumStreams: 1, } set := exportertest.NewNopSettings() - oexp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + oexp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, oexp) } diff --git a/exporter/otelarrowexporter/generated_component_test.go b/exporter/otelarrowexporter/generated_component_test.go index 740edc622e67..45afb5a3c0aa 100644 --- a/exporter/otelarrowexporter/generated_component_test.go +++ b/exporter/otelarrowexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/otelarrowexporter/go.mod b/exporter/otelarrowexporter/go.mod index f8094e7ec79e..747bfed303b1 100644 --- a/exporter/otelarrowexporter/go.mod +++ b/exporter/otelarrowexporter/go.mod @@ -4,58 +4,57 @@ go 1.22.0 require ( github.com/apache/arrow/go/v16 v16.1.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/grpcutil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow v0.108.0 - github.com/open-telemetry/otel-arrow v0.26.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/grpcutil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow v0.112.0 + github.com/open-telemetry/otel-arrow v0.29.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/client v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configauth v0.112.0 + go.opentelemetry.io/collector/config/configcompression v1.18.0 + go.opentelemetry.io/collector/config/configgrpc v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 - go.uber.org/mock v0.4.0 + go.uber.org/mock v0.5.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/net v0.28.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd - google.golang.org/grpc v1.66.0 - google.golang.org/protobuf v1.34.2 + golang.org/x/net v0.30.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 + google.golang.org/grpc v1.67.1 + google.golang.org/protobuf v1.35.1 ) require ( github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect github.com/apache/arrow/go/v17 v17.0.0 // indirect github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/fxamacker/cbor/v2 v2.4.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect github.com/google/flatbuffers v24.3.25+incompatible // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/klauspost/cpuid/v2 v2.2.8 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect @@ -65,37 +64,30 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect golang.org/x/mod v0.18.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/tools v0.22.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/exporter/otelarrowexporter/go.sum b/exporter/otelarrowexporter/go.sum index af77a873b535..548a2701d119 100644 --- a/exporter/otelarrowexporter/go.sum +++ b/exporter/otelarrowexporter/go.sum @@ -9,14 +9,10 @@ github.com/apache/arrow/go/v17 v17.0.0 h1:RRR2bdqKcdbss9Gxy2NS/hK8i4LDMh23L6BbkN github.com/apache/arrow/go/v17 v17.0.0/go.mod h1:jR7QHkODl15PfYyjM2nU+yTLScZ/qfj7OSUZmJ8putc= github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc h1:Keo7wQ7UODUaHcEi7ltENhbAK2VgZjfat6mLy03tQzo= github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc/go.mod h1:k08r+Yj1PRAmuayFiRK6MYuR5Ve4IuZtTfxErMIh0+c= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/brianvoe/gofakeit/v6 v6.17.0 h1:obbQTJeHfktJtiZzq0Q1bEpsNUs+yHrYlPVWt7BtmJ4= github.com/brianvoe/gofakeit/v6 v6.17.0/go.mod h1:Ow6qC71xtwm79anlwKRlWZW6zVq9D2XHE4QSSMP/rU8= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -34,8 +30,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -51,15 +47,13 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM= github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= @@ -74,8 +68,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -87,23 +79,13 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/open-telemetry/otel-arrow v0.26.0 h1:zizyFFtYfVzkjXGtY5iFSR5ognddzwJlD8fGPsVgCLo= -github.com/open-telemetry/otel-arrow v0.26.0/go.mod h1:QGueLcxK3nVjRnVCevyyeCEnI2YkFqgT/TWgw58eVy4= +github.com/open-telemetry/otel-arrow v0.29.0 h1:ymSDyMvxN2x+I7+Zwyrj6IuSjT3nHv2uA8Y+dJGVs9U= +github.com/open-telemetry/otel-arrow v0.29.0/go.mod h1:QGueLcxK3nVjRnVCevyyeCEnI2YkFqgT/TWgw58eVy4= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -119,78 +101,78 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= -go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= @@ -219,8 +201,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -231,12 +213,12 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -258,12 +240,12 @@ gonum.org/v1/gonum v0.15.0 h1:2lYxjRbTYyxkJxlhC+LvJIx3SsANPdRybu1tGj9/OrQ= gonum.org/v1/gonum v0.15.0/go.mod h1:xzZVBJBtS+Mz4q0Yl2LJTk+OxOg4jiXZ7qBoM0uISGo= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/exporter/otelarrowexporter/internal/arrow/exporter.go b/exporter/otelarrowexporter/internal/arrow/exporter.go index e42205af197a..f8b858167f03 100644 --- a/exporter/otelarrowexporter/internal/arrow/exporter.go +++ b/exporter/otelarrowexporter/internal/arrow/exporter.go @@ -7,6 +7,7 @@ import ( "context" "errors" "math/rand" + "runtime" "strconv" "sync" "time" @@ -14,6 +15,7 @@ import ( arrowpb "github.com/open-telemetry/otel-arrow/api/experimental/arrow/v1" arrowRecord "github.com/open-telemetry/otel-arrow/pkg/otel/arrow_record" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/configcompression" "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" @@ -27,6 +29,33 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow/netstats" ) +// Defaults settings should use relatively few resources, so that +// users are required to explicitly configure large instances. +var ( + // DefaultNumStreams is half the number of CPUs. This is + // selected as an estimate of relatively how much work is + // being performed by the exporter compared with other + // components in the system. + DefaultNumStreams = max(1, runtime.NumCPU()/2) +) + +const ( + // DefaultMaxStreamLifetime is 30 seconds, because the + // marginal compression benefit of a longer OTel-Arrow stream + // is limited after 100s of batches. + DefaultMaxStreamLifetime = 30 * time.Second + + // DefaultPayloadCompression is "zstd" so that Arrow IPC + // payloads use Arrow-configured Zstd over the payload + // independently of whatever compression gRPC may have + // configured. This is on by default, achieving "double + // compression" because: + // (a) relatively cheap in CPU terms + // (b) minor compression benefit + // (c) helps stay under gRPC request size limits + DefaultPayloadCompression configcompression.Type = "zstd" +) + // Exporter is 1:1 with exporter, isolates arrow-specific // functionality. type Exporter struct { diff --git a/exporter/otelarrowexporter/internal/arrow/exporter_test.go b/exporter/otelarrowexporter/internal/arrow/exporter_test.go index fc749a7f961d..4df1a98939fa 100644 --- a/exporter/otelarrowexporter/internal/arrow/exporter_test.go +++ b/exporter/otelarrowexporter/internal/arrow/exporter_test.go @@ -505,11 +505,11 @@ func TestArrowExporterStreamRace(t *testing.T) { defer wg.Done() // This blocks until the cancelation. _, err := tc.exporter.SendAndWait(callctx, twoTraces) - require.Error(t, err) + assert.Error(t, err) stat, is := status.FromError(err) - require.True(t, is, "is a gRPC status error: %v", err) - require.Equal(t, codes.Canceled, stat.Code()) + assert.True(t, is, "is a gRPC status error: %v", err) + assert.Equal(t, codes.Canceled, stat.Code()) }() } @@ -547,8 +547,8 @@ func TestArrowExporterStreaming(t *testing.T) { defer wg.Done() for data := range channel.sendChannel() { traces, err := testCon.TracesFrom(data) - require.NoError(t, err) - require.Len(t, traces, 1) + assert.NoError(t, err) + assert.Len(t, traces, 1) actualOutput = append(actualOutput, traces[0]) channel.recv <- statusOKFor(data.BatchId) } @@ -606,7 +606,7 @@ func TestArrowExporterHeaders(t *testing.T) { actualOutput = append(actualOutput, nil) } else { _, err := hpd.Write(data.Headers) - require.NoError(t, err) + assert.NoError(t, err) actualOutput = append(actualOutput, md) md = metadata.MD{} } @@ -698,7 +698,7 @@ func TestArrowExporterIsTraced(t *testing.T) { actualOutput = append(actualOutput, nil) } else { _, err := hpd.Write(data.Headers) - require.NoError(t, err) + assert.NoError(t, err) actualOutput = append(actualOutput, md) md = metadata.MD{} } @@ -786,8 +786,8 @@ func TestArrowExporterStreamLifetimeAndShutdown(t *testing.T) { for data := range channel.sendChannel() { traces, err := testCon.TracesFrom(data) - require.NoError(t, err) - require.Len(t, traces, 1) + assert.NoError(t, err) + assert.Len(t, traces, 1) atomic.AddUint64(&actualCount, 1) channel.recv <- statusOKFor(data.BatchId) } diff --git a/exporter/otelarrowexporter/internal/arrow/stream_test.go b/exporter/otelarrowexporter/internal/arrow/stream_test.go index 9b39d4d9c644..5b38bd3071fc 100644 --- a/exporter/otelarrowexporter/internal/arrow/stream_test.go +++ b/exporter/otelarrowexporter/internal/arrow/stream_test.go @@ -247,12 +247,10 @@ func TestStreamStatusUnavailableInvalid(t *testing.T) { }() // sender should get "test unavailable" once, success second time. err := tc.mustSendAndWait() - require.Error(t, err) - require.Contains(t, err.Error(), "test unavailable") + require.ErrorContains(t, err, "test unavailable") err = tc.mustSendAndWait() - require.Error(t, err) - require.Contains(t, err.Error(), "test invalid") + require.ErrorContains(t, err, "test invalid") err = tc.mustSendAndWait() require.NoError(t, err) @@ -282,8 +280,7 @@ func TestStreamStatusUnrecognized(t *testing.T) { channel.recv <- statusUnrecognizedFor(batch.BatchId) }() err := tc.mustSendAndWait() - require.Error(t, err) - require.Contains(t, err.Error(), "test unrecognized") + require.ErrorContains(t, err, "test unrecognized") // Note: do not cancel the context, the stream should be // shutting down due to the error. diff --git a/exporter/otelarrowexporter/metadata.go b/exporter/otelarrowexporter/metadata.go new file mode 100644 index 000000000000..1d24bfc6cb81 --- /dev/null +++ b/exporter/otelarrowexporter/metadata.go @@ -0,0 +1,203 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package otelarrowexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter" + +import ( + "context" + "errors" + "fmt" + "runtime" + "sort" + "strings" + "sync" + + arrowPkg "github.com/apache/arrow/go/v16/arrow" + "go.opentelemetry.io/collector/client" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/consumer/consumererror" + "go.opentelemetry.io/collector/exporter" + "go.opentelemetry.io/collector/pdata/plog" + "go.opentelemetry.io/collector/pdata/pmetric" + "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/otel/attribute" + "go.uber.org/multierr" + "google.golang.org/grpc/metadata" + + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow/compression/zstd" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow/netstats" +) + +var ( + // errTooManyExporters is returned when the MetadataCardinalityLimit has been reached. + errTooManyExporters = consumererror.NewPermanent(errors.New("too many exporter metadata-value combinations")) +) + +type metadataExporter struct { + config *Config + settings exporter.Settings + scf streamClientFactory + host component.Host + + metadataKeys []string + exporters sync.Map + netReporter *netstats.NetworkReporter + + userAgent string + + // Guards the size and the storing logic to ensure no more than limit items are stored. + // If we are willing to allow "some" extra items than the limit this can be removed and size can be made atomic. + lock sync.Mutex + size int +} + +var _ exp = (*metadataExporter)(nil) + +func newMetadataExporter(cfg component.Config, set exporter.Settings, streamClientFactory streamClientFactory) (exp, error) { + oCfg := cfg.(*Config) + netReporter, err := netstats.NewExporterNetworkReporter(set) + if err != nil { + return nil, err + } + userAgent := fmt.Sprintf("%s/%s (%s/%s)", + set.BuildInfo.Description, set.BuildInfo.Version, runtime.GOOS, runtime.GOARCH) + + if !oCfg.Arrow.Disabled { + // Ignoring an error because Validate() was called. + _ = zstd.SetEncoderConfig(oCfg.Arrow.Zstd) + + userAgent += fmt.Sprintf(" ApacheArrow/%s (NumStreams/%d)", arrowPkg.PkgVersion, oCfg.Arrow.NumStreams) + } + // use lower-case, to be consistent with http/2 headers. + mks := make([]string, len(oCfg.MetadataKeys)) + for i, k := range oCfg.MetadataKeys { + mks[i] = strings.ToLower(k) + } + sort.Strings(mks) + if len(mks) == 0 { + return newExporter(cfg, set, streamClientFactory, userAgent, netReporter) + } + return &metadataExporter{ + config: oCfg, + settings: set, + scf: streamClientFactory, + metadataKeys: mks, + userAgent: userAgent, + netReporter: netReporter, + }, nil +} + +func (e *metadataExporter) getSettings() exporter.Settings { + return e.settings +} + +func (e *metadataExporter) getConfig() component.Config { + return e.config +} + +func (e *metadataExporter) start(_ context.Context, host component.Host) (err error) { + e.host = host + return nil +} + +func (e *metadataExporter) shutdown(ctx context.Context) error { + var err error + e.exporters.Range(func(_ any, value any) bool { + be := value.(exp) + err = multierr.Append(err, be.shutdown(ctx)) + return true + }) + return err +} + +func (e *metadataExporter) pushTraces(ctx context.Context, td ptrace.Traces) error { + s, mdata := e.getAttrSet(ctx, e.metadataKeys) + + be, err := e.getOrCreateExporter(ctx, s, mdata) + if err != nil { + return err + } + return be.pushTraces(ctx, td) +} + +func (e *metadataExporter) pushMetrics(ctx context.Context, md pmetric.Metrics) error { + s, mdata := e.getAttrSet(ctx, e.metadataKeys) + + be, err := e.getOrCreateExporter(ctx, s, mdata) + if err != nil { + return err + } + + return be.pushMetrics(ctx, md) +} + +func (e *metadataExporter) pushLogs(ctx context.Context, ld plog.Logs) error { + s, mdata := e.getAttrSet(ctx, e.metadataKeys) + + be, err := e.getOrCreateExporter(ctx, s, mdata) + if err != nil { + return err + } + + return be.pushLogs(ctx, ld) +} + +func (e *metadataExporter) getOrCreateExporter(ctx context.Context, s attribute.Set, md metadata.MD) (exp, error) { + e.lock.Lock() + defer e.lock.Unlock() + + if e.config.MetadataCardinalityLimit != 0 && e.size >= int(e.config.MetadataCardinalityLimit) { + return nil, errTooManyExporters + } + + v, ok := e.exporters.Load(s) + if ok { + return v.(exp), nil + } + + newExp, err := newExporter(e.config, e.settings, e.scf, e.userAgent, e.netReporter) + if err != nil { + return nil, fmt.Errorf("failed to create exporter: %w", err) + } + + var loaded bool + v, loaded = e.exporters.LoadOrStore(s, newExp) + if !loaded { + // set metadata keys for base exporter to add them to the outgoing context. + newExp.(*baseExporter).setMetadata(md) + + // Start the goroutine only if we added the object to the map, otherwise is already started. + err = newExp.start(ctx, e.host) + if err != nil { + e.exporters.Delete(s) + return nil, fmt.Errorf("failed to start exporter: %w", err) + } + + e.size++ + } + + return v.(exp), nil +} + +// getAttrSet is code taken from the core collector's batchprocessor multibatch logic. +// https://github.com/open-telemetry/opentelemetry-collector/blob/v0.107.0/processor/batchprocessor/batch_processor.go#L298 +func (e *metadataExporter) getAttrSet(ctx context.Context, keys []string) (attribute.Set, metadata.MD) { + // Get each metadata key value, form the corresponding + // attribute set for use as a map lookup key. + info := client.FromContext(ctx) + md := map[string][]string{} + var attrs []attribute.KeyValue + for _, k := range keys { + // Lookup the value in the incoming metadata, copy it + // into the outgoing metadata, and create a unique + // value for the attributeSet. + vs := info.Metadata.Get(k) + md[k] = vs + if len(vs) == 1 { + attrs = append(attrs, attribute.String(k, vs[0])) + } else { + attrs = append(attrs, attribute.StringSlice(k, vs)) + } + } + return attribute.NewSet(attrs...), metadata.MD(md) +} diff --git a/exporter/otelarrowexporter/metadata.yaml b/exporter/otelarrowexporter/metadata.yaml index 8c4232c0065b..7a09e682f725 100644 --- a/exporter/otelarrowexporter/metadata.yaml +++ b/exporter/otelarrowexporter/metadata.yaml @@ -4,7 +4,7 @@ status: class: exporter stability: beta: [traces, metrics, logs] - distributions: [] + distributions: [contrib, k8s] codeowners: active: [jmacd, moh-osman3, lquerel] diff --git a/exporter/otelarrowexporter/metadata_test.go b/exporter/otelarrowexporter/metadata_test.go new file mode 100644 index 000000000000..4ec7b7e8d23a --- /dev/null +++ b/exporter/otelarrowexporter/metadata_test.go @@ -0,0 +1,208 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 +package otelarrowexporter + +import ( + "context" + "fmt" + "net" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/client" + "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/config/configgrpc" + "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/consumer/consumererror" + "go.opentelemetry.io/collector/exporter/exportertest" + + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow/testdata" +) + +func TestSendTracesWithMetadata(t *testing.T) { + // Start an OTel-Arrow receiver. + ln, err := net.Listen("tcp", "localhost:") + require.NoError(t, err, "Failed to find an available address to run the gRPC server: %v", err) + rcv, err := otelArrowTracesReceiverOnGRPCServer(ln, false) + rcv.hasMetadata = true + rcv.spanCountByMetadata = make(map[string]int) + + rcv.start() + require.NoError(t, err, "Failed to start mock OTLP receiver") + // Also closes the connection. + defer rcv.srv.GracefulStop() + + // Start an OTLP exporter and point to the receiver. + factory := NewFactory() + cfg := createDefaultConfig().(*Config) + cfg.ClientConfig = configgrpc.ClientConfig{ + Endpoint: ln.Addr().String(), + TLSSetting: configtls.ClientConfig{ + Insecure: true, + }, + } + cfg.Arrow.MaxStreamLifetime = 100 * time.Second + + cfg.MetadataCardinalityLimit = 10 + cfg.MetadataKeys = []string{"key1", "key2"} + set := exportertest.NewNopSettings() + set.BuildInfo.Description = "Collector" + set.BuildInfo.Version = "1.2.3test" + bg := context.Background() + exp, err := factory.CreateTraces(bg, set, cfg) + require.NoError(t, err) + require.NotNil(t, exp) + defer func() { + assert.NoError(t, exp.Shutdown(context.Background())) + }() + + host := componenttest.NewNopHost() + + assert.NoError(t, exp.Start(context.Background(), host)) + + // Ensure that initially there is no data in the receiver. + assert.EqualValues(t, 0, rcv.requestCount.Load()) + + callCtxs := []context.Context{ + client.NewContext(context.Background(), client.Info{ + Metadata: client.NewMetadata(map[string][]string{ + "key1": {"first"}, + "key2": {"second"}, + }), + }), + client.NewContext(context.Background(), client.Info{ + Metadata: client.NewMetadata(map[string][]string{ + "key1": {"third"}, + "key2": {"fourth"}, + }), + }), + } + + expectByContext := make([]int, len(callCtxs)) + + requestCount := 3 + spansPerRequest := 33 + for requestNum := 0; requestNum < requestCount; requestNum++ { + td := testdata.GenerateTraces(spansPerRequest) + spans := td.ResourceSpans().At(0).ScopeSpans().At(0).Spans() + for spanIndex := 0; spanIndex < spansPerRequest; spanIndex++ { + spans.At(spanIndex).SetName(fmt.Sprintf("%d-%d", requestNum, spanIndex)) + } + + num := requestNum % len(callCtxs) + expectByContext[num] += spansPerRequest + go func(n int) { + assert.NoError(t, exp.ConsumeTraces(callCtxs[n], td)) + }(num) + } + + assert.Eventually(t, func() bool { + return rcv.requestCount.Load() == int32(requestCount) + }, 1*time.Second, 5*time.Millisecond) + assert.Eventually(t, func() bool { + return rcv.totalItems.Load() == int32(requestCount*spansPerRequest) + }, 1*time.Second, 5*time.Millisecond) + assert.Eventually(t, func() bool { + rcv.mux.Lock() + defer rcv.mux.Unlock() + return len(callCtxs) == len(rcv.spanCountByMetadata) + }, 1*time.Second, 5*time.Millisecond) + + for idx, ctx := range callCtxs { + md := client.FromContext(ctx).Metadata + key := fmt.Sprintf("%s|%s", md.Get("key1"), md.Get("key2")) + require.Equal(t, expectByContext[idx], rcv.spanCountByMetadata[key]) + } +} + +func TestDuplicateMetadataKeys(t *testing.T) { + cfg := createDefaultConfig().(*Config) + cfg.MetadataKeys = []string{"myTOKEN", "mytoken"} + err := cfg.Validate() + require.ErrorContains(t, err, "duplicate") + require.ErrorContains(t, err, "mytoken") +} + +func TestMetadataExporterCardinalityLimit(t *testing.T) { + const cardLimit = 10 + // Start an OTel-Arrow receiver. + ln, err := net.Listen("tcp", "localhost:") + require.NoError(t, err, "Failed to find an available address to run the gRPC server: %v", err) + rcv, err := otelArrowTracesReceiverOnGRPCServer(ln, false) + rcv.hasMetadata = true + rcv.spanCountByMetadata = make(map[string]int) + + rcv.start() + require.NoError(t, err, "Failed to start mock OTLP receiver") + // Also closes the connection. + defer rcv.srv.GracefulStop() + + // Start an OTLP exporter and point to the receiver. + factory := NewFactory() + cfg := createDefaultConfig().(*Config) + cfg.ClientConfig = configgrpc.ClientConfig{ + Endpoint: ln.Addr().String(), + TLSSetting: configtls.ClientConfig{ + Insecure: true, + }, + } + cfg.Arrow.MaxStreamLifetime = 100 * time.Second + + // disable queue settings to allow for error backpropagation. + cfg.QueueSettings.Enabled = false + + cfg.MetadataCardinalityLimit = cardLimit + cfg.MetadataKeys = []string{"key1", "key2"} + set := exportertest.NewNopSettings() + bg := context.Background() + exp, err := factory.CreateTraces(bg, set, cfg) + require.NoError(t, err) + require.NotNil(t, exp) + defer func() { + assert.NoError(t, exp.Shutdown(context.Background())) + }() + + host := componenttest.NewNopHost() + + assert.NoError(t, exp.Start(context.Background(), host)) + + // Ensure that initially there is no data in the receiver. + assert.EqualValues(t, 0, rcv.requestCount.Load()) + + for requestNum := 0; requestNum < cardLimit; requestNum++ { + td := testdata.GenerateTraces(1) + ctx := client.NewContext(bg, client.Info{ + Metadata: client.NewMetadata(map[string][]string{ + "key1": {fmt.Sprint(requestNum)}, + "key2": {fmt.Sprint(requestNum)}, + }), + }) + + assert.NoError(t, exp.ConsumeTraces(ctx, td)) + } + + td := testdata.GenerateTraces(1) + ctx := client.NewContext(bg, client.Info{ + Metadata: client.NewMetadata(map[string][]string{ + "key1": {"limit_exceeded"}, + "key2": {"limit_exceeded"}, + }), + }) + + // above the metadata cardinality limit. + err = exp.ConsumeTraces(ctx, td) + require.Error(t, err) + assert.True(t, consumererror.IsPermanent(err)) + assert.ErrorContains(t, err, "too many") + + assert.Eventually(t, func() bool { + return rcv.requestCount.Load() == int32(cardLimit) + }, 1*time.Second, 5*time.Millisecond) + assert.Eventually(t, func() bool { + return rcv.totalItems.Load() == int32(cardLimit) + }, 1*time.Second, 5*time.Millisecond) + + require.Len(t, rcv.spanCountByMetadata, cardLimit) +} diff --git a/exporter/otelarrowexporter/otelarrow.go b/exporter/otelarrowexporter/otelarrow.go index a4a94496717e..31d9145e4c63 100644 --- a/exporter/otelarrowexporter/otelarrow.go +++ b/exporter/otelarrowexporter/otelarrow.go @@ -6,14 +6,12 @@ package otelarrowexporter // import "github.com/open-telemetry/opentelemetry-col import ( "context" "errors" - "fmt" - "runtime" "time" - arrowPkg "github.com/apache/arrow/go/v16/arrow" arrowRecord "github.com/open-telemetry/otel-arrow/pkg/otel/arrow_record" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/configcompression" + "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -37,6 +35,18 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/otelarrow/netstats" ) +type exp interface { + getSettings() exporter.Settings + getConfig() component.Config + + start(context.Context, component.Host) error + shutdown(context.Context) error + + pushTraces(context.Context, ptrace.Traces) error + pushMetrics(context.Context, pmetric.Metrics) error + pushLogs(context.Context, plog.Logs) error +} + type baseExporter struct { // Input configuration. config *Config @@ -60,31 +70,19 @@ type baseExporter struct { streamClientFactory streamClientFactory } +var _ exp = (*baseExporter)(nil) + type streamClientFactory func(conn *grpc.ClientConn) arrow.StreamClientFunc // Crete new exporter and start it. The exporter will begin connecting but // this function may return before the connection is established. -func newExporter(cfg component.Config, set exporter.Settings, streamClientFactory streamClientFactory) (*baseExporter, error) { +func newExporter(cfg component.Config, set exporter.Settings, streamClientFactory streamClientFactory, userAgent string, netReporter *netstats.NetworkReporter) (exp, error) { oCfg := cfg.(*Config) if oCfg.Endpoint == "" { return nil, errors.New("OTLP exporter config requires an Endpoint") } - netReporter, err := netstats.NewExporterNetworkReporter(set) - if err != nil { - return nil, err - } - userAgent := fmt.Sprintf("%s/%s (%s/%s)", - set.BuildInfo.Description, set.BuildInfo.Version, runtime.GOOS, runtime.GOARCH) - - if !oCfg.Arrow.Disabled { - // Ignoring an error because Validate() was called. - _ = zstd.SetEncoderConfig(oCfg.Arrow.Zstd) - - userAgent += fmt.Sprintf(" ApacheArrow/%s (NumStreams/%d)", arrowPkg.PkgVersion, oCfg.Arrow.NumStreams) - } - return &baseExporter{ config: oCfg, settings: set, @@ -94,16 +92,31 @@ func newExporter(cfg component.Config, set exporter.Settings, streamClientFactor }, nil } +func (e *baseExporter) getSettings() exporter.Settings { + return e.settings +} + +func (e *baseExporter) getConfig() component.Config { + return e.config +} + +func (e *baseExporter) setMetadata(md metadata.MD) { + e.metadata = metadata.Join(e.metadata, md) +} + // start actually creates the gRPC connection. The client construction is deferred till this point as this // is the only place we get hold of Extensions which are required to construct auth round tripper. func (e *baseExporter) start(ctx context.Context, host component.Host) (err error) { - dialOpts := []grpc.DialOption{ - grpc.WithUserAgent(e.userAgent), + dialOpts := []configgrpc.ToClientConnOption{ + configgrpc.WithGrpcDialOption(grpc.WithUserAgent(e.userAgent)), } if e.netReporter != nil { - dialOpts = append(dialOpts, grpc.WithStatsHandler(e.netReporter.Handler())) + dialOpts = append(dialOpts, configgrpc.WithGrpcDialOption(grpc.WithStatsHandler(e.netReporter.Handler()))) } - dialOpts = append(dialOpts, e.config.UserDialOptions...) + for _, opt := range e.config.UserDialOptions { + dialOpts = append(dialOpts, configgrpc.WithGrpcDialOption(opt)) + } + if e.clientConn, err = e.config.ClientConfig.ToClientConn(ctx, host, e.settings.TelemetrySettings, dialOpts...); err != nil { return err } @@ -114,7 +127,8 @@ func (e *baseExporter) start(ctx context.Context, host component.Host) (err erro for k, v := range e.config.ClientConfig.Headers { headers[k] = string(v) } - e.metadata = metadata.New(headers) + headerMetadata := metadata.New(headers) + e.metadata = metadata.Join(e.metadata, headerMetadata) e.callOptions = []grpc.CallOption{ grpc.WaitForReady(e.config.ClientConfig.WaitForReady), } diff --git a/exporter/otelarrowexporter/otelarrow_test.go b/exporter/otelarrowexporter/otelarrow_test.go index dfa73f7417cc..1c5e925ff673 100644 --- a/exporter/otelarrowexporter/otelarrow_test.go +++ b/exporter/otelarrowexporter/otelarrow_test.go @@ -78,8 +78,10 @@ func (r *mockReceiver) setExportError(err error) { type mockTracesReceiver struct { ptraceotlp.UnimplementedGRPCServer mockReceiver - exportResponse func() ptraceotlp.ExportResponse - lastRequest ptrace.Traces + exportResponse func() ptraceotlp.ExportResponse + lastRequest ptrace.Traces + hasMetadata bool + spanCountByMetadata map[string]int } func (r *mockTracesReceiver) Export(ctx context.Context, req ptraceotlp.ExportRequest) (ptraceotlp.ExportResponse, error) { @@ -88,8 +90,14 @@ func (r *mockTracesReceiver) Export(ctx context.Context, req ptraceotlp.ExportRe r.totalItems.Add(int32(td.SpanCount())) r.mux.Lock() defer r.mux.Unlock() - r.lastRequest = td r.metadata, _ = metadata.FromIncomingContext(ctx) + if r.hasMetadata { + v1 := r.metadata.Get("key1") + v2 := r.metadata.Get("key2") + hashKey := fmt.Sprintf("%s|%s", v1, v2) + r.spanCountByMetadata[hashKey] += (td.SpanCount()) + } + r.lastRequest = td return r.exportResponse(), r.exportError } @@ -322,7 +330,7 @@ func TestSendTraces(t *testing.T) { set := exportertest.NewNopSettings() set.BuildInfo.Description = "Collector" set.BuildInfo.Version = "1.2.3test" - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) @@ -464,7 +472,7 @@ func TestSendTracesWhenEndpointHasHttpScheme(t *testing.T) { cfg.ClientConfig.TLSSetting.InsecureSkipVerify = true } set := exportertest.NewNopSettings() - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) @@ -521,7 +529,7 @@ func TestSendMetrics(t *testing.T) { set := exportertest.NewNopSettings() set.BuildInfo.Description = "Collector" set.BuildInfo.Version = "1.2.3test" - exp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + exp, err := factory.CreateMetrics(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) defer func() { @@ -618,7 +626,7 @@ func TestSendTraceDataServerDownAndUp(t *testing.T) { } cfg.Arrow.MaxStreamLifetime = 100 * time.Second set := exportertest.NewNopSettings() - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) defer func() { @@ -676,7 +684,7 @@ func TestSendTraceDataServerStartWhileRequest(t *testing.T) { } cfg.Arrow.MaxStreamLifetime = 100 * time.Second set := exportertest.NewNopSettings() - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) defer func() { @@ -730,7 +738,7 @@ func TestSendTracesOnResourceExhaustion(t *testing.T) { } cfg.Arrow.MaxStreamLifetime = 100 * time.Second set := exportertest.NewNopSettings() - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) @@ -815,7 +823,7 @@ func TestSendLogData(t *testing.T) { set := exportertest.NewNopSettings() set.BuildInfo.Description = "Collector" set.BuildInfo.Version = "1.2.3test" - exp, err := factory.CreateLogsExporter(context.Background(), set, cfg) + exp, err := factory.CreateLogs(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) defer func() { @@ -931,7 +939,7 @@ func testSendArrowTraces(t *testing.T, clientWaitForReady, streamServiceAvailabl set := exportertest.NewNopSettings() set.TelemetrySettings.Logger = zaptest.NewLogger(t) - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) @@ -1101,7 +1109,7 @@ func TestSendArrowFailedTraces(t *testing.T) { set := exportertest.NewNopSettings() set.TelemetrySettings.Logger = zaptest.NewLogger(t) - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) @@ -1125,8 +1133,7 @@ func TestSendArrowFailedTraces(t *testing.T) { // Send two trace items. td := testdata.GenerateTraces(2) err = exp.ConsumeTraces(context.Background(), td) - assert.Error(t, err) - assert.Contains(t, err.Error(), "test failed") + assert.ErrorContains(t, err, "test failed") // Wait until it is received. assert.Eventually(t, func() bool { @@ -1166,7 +1173,7 @@ func TestUserDialOptions(t *testing.T) { set := exportertest.NewNopSettings() set.TelemetrySettings.Logger = zaptest.NewLogger(t) - exp, err := factory.CreateTracesExporter(context.Background(), set, cfg) + exp, err := factory.CreateTraces(context.Background(), set, cfg) require.NoError(t, err) require.NotNil(t, exp) diff --git a/exporter/otelarrowexporter/testdata/config.yaml b/exporter/otelarrowexporter/testdata/config.yaml index de3d86626582..76cc6df400e7 100644 --- a/exporter/otelarrowexporter/testdata/config.yaml +++ b/exporter/otelarrowexporter/testdata/config.yaml @@ -25,6 +25,11 @@ keepalive: timeout: 30s permit_without_stream: true balancer_name: "experimental" +batcher: + enabled: true + flush_timeout: 200ms + min_size_items: 1000 + max_size_items: 10000 arrow: num_streams: 2 disabled: false diff --git a/exporter/prometheusexporter/end_to_end_test.go b/exporter/prometheusexporter/end_to_end_test.go index f80e717b56a6..6831ce2a0837 100644 --- a/exporter/prometheusexporter/end_to_end_test.go +++ b/exporter/prometheusexporter/end_to_end_test.go @@ -16,6 +16,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/config/confighttp" "go.opentelemetry.io/collector/exporter/exportertest" @@ -38,7 +39,7 @@ func TestEndToEndSummarySupport(t *testing.T) { dropWizardServer := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) { // Serve back the metrics as if they were from DropWizard. _, err := rw.Write([]byte(dropWizardResponse)) - require.NoError(t, err) + assert.NoError(t, err) currentScrapeIndex++ if currentScrapeIndex == 8 { // We shall let the Prometheus receiver scrape the DropWizard mock server, at least 8 times. wg.Done() // done scraping dropWizardResponse 8 times @@ -65,7 +66,7 @@ func TestEndToEndSummarySupport(t *testing.T) { } exporterFactory := NewFactory() set := exportertest.NewNopSettings() - exporter, err := exporterFactory.CreateMetricsExporter(ctx, set, exporterCfg) + exporter, err := exporterFactory.CreateMetrics(ctx, set, exporterCfg) if err != nil { t.Fatal(err) } @@ -98,7 +99,7 @@ func TestEndToEndSummarySupport(t *testing.T) { PrometheusConfig: receiverConfig, } // 3.5 Create the Prometheus receiver and pass in the previously created Prometheus exporter. - prometheusReceiver, err := receiverFactory.CreateMetricsReceiver(ctx, receiverCreateSet, rcvCfg, exporter) + prometheusReceiver, err := receiverFactory.CreateMetrics(ctx, receiverCreateSet, rcvCfg, exporter) if err != nil { t.Fatal(err) } diff --git a/exporter/prometheusexporter/factory.go b/exporter/prometheusexporter/factory.go index 2a94fc67a923..9b3975842adb 100644 --- a/exporter/prometheusexporter/factory.go +++ b/exporter/prometheusexporter/factory.go @@ -46,7 +46,7 @@ func createMetricsExporter( return nil, err } - exporter, err := exporterhelper.NewMetricsExporter( + exporter, err := exporterhelper.NewMetrics( ctx, set, cfg, diff --git a/exporter/prometheusexporter/factory_test.go b/exporter/prometheusexporter/factory_test.go index 9fd0464ace89..3920b6956f29 100644 --- a/exporter/prometheusexporter/factory_test.go +++ b/exporter/prometheusexporter/factory_test.go @@ -19,7 +19,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cfg := createDefaultConfig() oCfg := cfg.(*Config) oCfg.Endpoint = "" @@ -31,7 +31,7 @@ func TestCreateMetricsExporter(t *testing.T) { require.Nil(t, exp) } -func TestCreateMetricsExporterExportHelperError(t *testing.T) { +func TestCreateMetricsExportHelperError(t *testing.T) { cfg, ok := createDefaultConfig().(*Config) require.True(t, ok) diff --git a/exporter/prometheusexporter/generated_component_test.go b/exporter/prometheusexporter/generated_component_test.go index f0e1ca1d1888..3e8a4ff5f61c 100644 --- a/exporter/prometheusexporter/generated_component_test.go +++ b/exporter/prometheusexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/prometheusexporter/go.mod b/exporter/prometheusexporter/go.mod index fc620ea0b2a6..cff6da9715d0 100644 --- a/exporter/prometheusexporter/go.mod +++ b/exporter/prometheusexporter/go.mod @@ -3,33 +3,34 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/promet go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.108.0 - github.com/prometheus/client_golang v1.20.2 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.112.0 + github.com/prometheus/client_golang v1.20.5 github.com/prometheus/client_model v0.6.1 - github.com/prometheus/common v0.57.0 + github.com/prometheus/common v0.60.1 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 gopkg.in/yaml.v2 v2.4.0 ) require ( cloud.google.com/go/auth v0.7.0 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.4.0 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.13.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect @@ -44,7 +45,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b // indirect + github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dennwc/varint v1.0.0 // indirect github.com/digitalocean/godo v1.118.0 // indirect @@ -53,8 +54,8 @@ require ( github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 // indirect - github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect + github.com/envoyproxy/go-control-plane v0.13.0 // indirect + github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect github.com/fatih/color v1.16.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect @@ -66,7 +67,7 @@ require ( github.com/go-openapi/jsonreference v0.20.4 // indirect github.com/go-openapi/swag v0.22.9 // indirect github.com/go-resty/resty/v2 v2.13.1 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-zookeeper/zk v1.0.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v5 v5.2.1 // indirect @@ -104,7 +105,7 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -124,10 +125,11 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/ovh/go-ovh v1.6.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect @@ -140,48 +142,48 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/vultr/govultr/v2 v2.17.2 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect golang.org/x/mod v0.19.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.23.0 // indirect google.golang.org/api v0.188.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/grpc v1.67.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/exporter/prometheusexporter/go.sum b/exporter/prometheusexporter/go.sum index 828661758105..6dbbc797dd12 100644 --- a/exporter/prometheusexporter/go.sum +++ b/exporter/prometheusexporter/go.sum @@ -23,8 +23,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute/metadata v0.4.0 h1:vHzJCWaM4g8XIcm8kopr3XmDA4Gy/lblD3EhhSux05c= -cloud.google.com/go/compute/metadata v0.4.0/go.mod h1:SIQh1Kkb4ZJ8zJ874fqVkslA29PRXuleyj6vOzlbK7M= +cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -98,8 +98,8 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 h1:N+3sFI5GUjRKBi+i0TxYVST9h4Ie192jJWpHvthBBgg= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -120,16 +120,18 @@ github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 h1:IgJPqnrlY2Mr4pYB6oaMKvFvwJ9H+X6CCY5x1vCTcpc= -github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA= +github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= +github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= +github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -172,8 +174,8 @@ github.com/go-resty/resty/v2 v2.13.1/go.mod h1:GznXlLxkq6Nh4sU59rPmUw3VtgpO3aS96 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -353,8 +355,8 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -448,6 +450,8 @@ github.com/ovh/go-ovh v1.6.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -468,8 +472,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -481,8 +485,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -504,10 +508,8 @@ github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29 h1:BkTk4gynLjguayxrYxZoMZjBnA github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= 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/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -567,124 +569,132 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:C8zH69dHsR0PjImHRr9VqnQBQ1H3bd4xsF0lYf1rKAs= -go.opentelemetry.io/collector/component/componentprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:89nwTlWr2RXPZNC/b5VLjL6YHZPAn3UGhmNKUxYKtaU= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331 h1:TpVGUCWZ5f+zmJORm4tBg6HwlvIe2qN/zo/AHtAcjjw= -go.opentelemetry.io/collector/connector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1gv3kuRVX8UHPyGBhej3rPeaKoDHOUXlYTYcFTQ4AkI= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pynaXjH518e6DWRjLIs/nPMAozKBPAO8xWDHx/47Cf4= -go.opentelemetry.io/collector/connector/connectorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:QwUpZjbQuCBbi28QzDkxdlLgW2dJGrdyKrzGF+feEQk= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0 h1:kpub+t0U7eLTzZeiJ9HIfcl/bi3+pIWvSB/ELDu4mOo= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909180850-6ea5b698d0c0/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331 h1:xGZi2X0etBjzUCkqyBmdfdQCJx8k+P9jaMaeWWVPoqI= -go.opentelemetry.io/collector/internal/globalgates v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:N3Ha+6JNawEoxVP35MKHnQtKW9zGa6XY/h/9rF96ZZg= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331 h1:tXkrWNjIojPeSnmpnP5Hqj0dJtLVU/8XE9gd+sRfFig= -go.opentelemetry.io/collector/otelcol v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:qSVIHkeggqwsLmdGarB1L62cX0y+A14YTlbkLV0hLfs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331 h1:W+qS7vPbSKAndZuale1h0xzmL/4JOPK/BHX7RWHdBXA= -go.opentelemetry.io/collector/processor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:MXzSr9W/cizWPWYqje7cpQ5VMKebDt5svd67MzrXQnk= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331 h1:DSgsLqj0L0m7rQdzWsC/fvE4qvzJSggqmaur0wGucZ4= -go.opentelemetry.io/collector/processor/batchprocessor v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:CSvxn55s4JFEEJ0UoYoXbj8XoBFl7Oj26bAE9kAcNTE= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:pLvpgvHXHDt4Wsmla/pMAMkZqV5xxG/05SkriJCLyx4= -go.opentelemetry.io/collector/processor/processorprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RBC2klDpXxnXPJDJQJcsMiaZg5xYhhYHozgWCiX3nKs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331 h1:NFteViui9ZIHlbONvTsujz4uO8wsk1ItmKOxlRQS+vU= -go.opentelemetry.io/collector/service v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:1j6DBWcAGJULO5JQXgJQ4mh4EwKiasHHzCCK5ZG4vaA= -go.opentelemetry.io/contrib/config v0.9.0 h1:AJ1c6+vJ6SxvqBBhsi2RhLFMlc6SnJOg81Jp4toFyNw= -go.opentelemetry.io/contrib/config v0.9.0/go.mod h1:u/u2L6y/c8GKrq/AP51sfXV4Eu24btVlC3A5f867xwg= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0 h1:hNjyoRsAACnhoOLWupItUjABzeYmX3GTTZLzwJluJlk= -go.opentelemetry.io/contrib/propagators/b3 v1.29.0/go.mod h1:E76MTitU1Niwo5NSN+mVxkyLu4h4h7Dp/yh38F2WuIU= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0 h1:4d++HQ+Ihdl+53zSjtsCUFDmNMju2FC9qFkUlTxPLqo= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.5.0/go.mod h1:mQX5dTO3Mh5ZF7bPKDkt5c/7C41u/SiDr9XgTpzXXn8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0 h1:k6fQVDQexDE+3jG2SfCQjnHS7OamcP73YMoxEVq5B6k= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.29.0/go.mod h1:t4BrYLHU450Zo9fnydWlIuswB1bm7rM8havDpWOJeDo= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0 h1:xvhQxJ/C9+RTnAj5DpTg7LSM1vbbMTiXt7e9hsfqHNw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.29.0/go.mod h1:Fcvs2Bz1jkDM+Wf5/ozBGmi3tQ/c9zPKLnsipnfhGAo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 h1:nSiV3s7wiCam610XcLbYOmMfJxB9gO4uK3Xgv5gmTgg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0/go.mod h1:hKn/e/Nmd19/x1gvIHwtOwVWM+VhuITSWip3JUDghj0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0 h1:ThVXnEsdwNcxdBO+r96ci1xbF+PgNjwlk457VNuJODo= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.5.0/go.mod h1:rHWcSmC4q2h3gje/yOq6sAOaq8+UHxN/Ru3BbmDXOfY= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0 h1:X3ZjNp36/WlkSYx0ul2jw4PtbNEDDeLskw3VPsrpYM0= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.29.0/go.mod h1:2uL/xnOXh0CHOBFCWXz5u1A4GXLiW+0IQIzVbeOEQ0U= -go.opentelemetry.io/otel/log v0.5.0 h1:x1Pr6Y3gnXgl1iFBwtGy1W/mnzENoK0w0ZoaeOI3i30= -go.opentelemetry.io/otel/log v0.5.0/go.mod h1:NU/ozXeGuOR5/mjCRXYbTC00NFJ3NYuraV/7O78F0rE= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/log v0.5.0 h1:A+9lSjlZGxkQOr7QSBJcuyyYBw79CufQ69saiJLey7o= -go.opentelemetry.io/otel/sdk/log v0.5.0/go.mod h1:zjxIW7sw1IHolZL2KlSAtrUi8JHttoeiQy43Yl3WuVQ= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.112.0 h1:yyA9hC2FTIRs4T418cQHxgei82oa9uNugFQIeNjRzv0= +go.opentelemetry.io/collector v0.112.0/go.mod h1:AgSN5Wd8mcHaOnBTgo0zdS03E9HuFp2ccKpVRs5YFz8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/connector v0.112.0 h1:F7nLFJOaQBpowI4WwICm3ws/ua2mmke5zTqYezddLVY= +go.opentelemetry.io/collector/connector v0.112.0/go.mod h1:zr+qW7d3xfhhAiKTDodrO/PWn3w9cTu4nZ9kzPYc8ew= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0 h1:jeGUmx1usnzrH/XyT2hhIEsa1ogSe08z1sR2KzV6UFY= +go.opentelemetry.io/collector/connector/connectorprofiles v0.112.0/go.mod h1:j96elpMwsro4TEQSDDvA8ocEl9USiId/vsZQGF9mouI= +go.opentelemetry.io/collector/connector/connectortest v0.112.0 h1:4rKkmqjtjSTYyIpD727zKy1bHxXkET2pbmN5jq2QdVs= +go.opentelemetry.io/collector/connector/connectortest v0.112.0/go.mod h1:PkVWrwvgI58yCiOTI0SPymeruNkrTrIpQ8Gq6lap3n8= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/otelcol v0.112.0 h1:xOq7z5WK5jS1Qg5w+l99H1EiQRq9rHHDv7EIiLryldw= +go.opentelemetry.io/collector/otelcol v0.112.0/go.mod h1:H/HurP0qCcwcWdDRgvTJ/FRrVLnt++agxzHvgLQn/Ew= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0 h1:opXGNrlJAjYRKn2xMWJNr8E9sPDE+hKL//0sE+RMlQI= +go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.112.0/go.mod h1:c9yn4x+vY3G10eLCRuUu/oH7Y8YdE/BsgmLWmfHkaNY= +go.opentelemetry.io/collector/processor v0.112.0 h1:nMv9DOBYR9MB78ddUgY3A3ytwAwk3t4HQMNIu+w8o0g= +go.opentelemetry.io/collector/processor v0.112.0/go.mod h1:AJ8EHq8Z/ev90f4gU6G5ULUncdpWmBRATYk8ioR3pvw= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0 h1:Dq/RpdClawI8HrnSi177LziPjfHo733BWOCgRTbWrfY= +go.opentelemetry.io/collector/processor/batchprocessor v0.112.0/go.mod h1:QLQ31rGjPuMc/nGw4rL4HzQI9F0jVAPEmC342chxoqA= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0 h1:Aef68SAbmBbhbsZZPuZb0ECwkV05vIcHIizGOGbWsbM= +go.opentelemetry.io/collector/processor/processorprofiles v0.112.0/go.mod h1:OUS7GcPCvFAIERSUFJLMtj6MSUOTCuS2pGKB7B+OHXs= +go.opentelemetry.io/collector/processor/processortest v0.112.0 h1:kW7kZ6EC1YjBiOvdajxN/DxvVljr9MKMemHheoaYcFc= +go.opentelemetry.io/collector/processor/processortest v0.112.0/go.mod h1:idZ8tCMswGQ8VsPBLtPDL2N7+pvtiMYkz6vNFPPew2M= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/service v0.112.0 h1:SI5bwPrRHLRn/kR9AoSSDX/8vaKFe+NMYloAcXfWMSE= +go.opentelemetry.io/collector/service v0.112.0/go.mod h1:VTLnax+DjHal3q7WKQO0ITjWdfPTq2txaoNRcVXYzgE= +go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= +go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= +go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 h1:K0XaT3DwHAcV4nKLzcQvwAgSyisUghWoY20I7huthMk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0/go.mod h1:B5Ki776z/MBnVha1Nzwp5arlzBbE3+1jk+pGmaP5HME= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= +go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0 h1:HZgBIps9wH0RDrwjrmNa3DVbNRW60HEhdzqZFyAp3fI= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.31.0/go.mod h1:RDRhvt6TDG0eIXmonAx5bd9IcwpqCkziwkOClzWKwAQ= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/log v0.7.0 h1:d1abJc0b1QQZADKvfe9JqqrfmPYQCz2tUSO+0XZmuV4= +go.opentelemetry.io/otel/log v0.7.0/go.mod h1:2jf2z7uVfnzDNknKTO9G+ahcOAyWcp1fJmk/wJjULRo= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= +go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= @@ -706,8 +716,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -784,16 +794,16 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -867,16 +877,16 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -888,8 +898,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1001,10 +1011,10 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg= +google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1018,8 +1028,8 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1031,8 +1041,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= 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.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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/exporter/prometheusexporter/prometheus_test.go b/exporter/prometheusexporter/prometheus_test.go index de35d9b88870..6fc69531c792 100644 --- a/exporter/prometheusexporter/prometheus_test.go +++ b/exporter/prometheusexporter/prometheus_test.go @@ -65,7 +65,7 @@ func TestPrometheusExporter(t *testing.T) { for _, tt := range tests { // Run it a few times to ensure that shutdowns exit cleanly. for j := 0; j < 3; j++ { - exp, err := factory.CreateMetricsExporter(context.Background(), set, tt.config) + exp, err := factory.CreateMetrics(context.Background(), set, tt.config) if tt.wantErr != "" { require.Error(t, err) @@ -114,7 +114,7 @@ func TestPrometheusExporter_WithTLS(t *testing.T) { } factory := NewFactory() set := exportertest.NewNopSettings() - exp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + exp, err := factory.CreateMetrics(context.Background(), set, cfg) require.NoError(t, err) tlscs := configtls.ClientConfig{ @@ -191,7 +191,7 @@ func TestPrometheusExporter_endToEndMultipleTargets(t *testing.T) { factory := NewFactory() set := exportertest.NewNopSettings() - exp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + exp, err := factory.CreateMetrics(context.Background(), set, cfg) assert.NoError(t, err) t.Cleanup(func() { @@ -275,7 +275,7 @@ func TestPrometheusExporter_endToEnd(t *testing.T) { factory := NewFactory() set := exportertest.NewNopSettings() - exp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + exp, err := factory.CreateMetrics(context.Background(), set, cfg) assert.NoError(t, err) t.Cleanup(func() { @@ -354,7 +354,7 @@ func TestPrometheusExporter_endToEndWithTimestamps(t *testing.T) { factory := NewFactory() set := exportertest.NewNopSettings() - exp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + exp, err := factory.CreateMetrics(context.Background(), set, cfg) assert.NoError(t, err) t.Cleanup(func() { @@ -436,7 +436,7 @@ func TestPrometheusExporter_endToEndWithResource(t *testing.T) { factory := NewFactory() set := exportertest.NewNopSettings() - exp, err := factory.CreateMetricsExporter(context.Background(), set, cfg) + exp, err := factory.CreateMetrics(context.Background(), set, cfg) assert.NoError(t, err) t.Cleanup(func() { diff --git a/exporter/prometheusremotewriteexporter/DESIGN.md b/exporter/prometheusremotewriteexporter/DESIGN.md index 3fbf369050f0..36946ddccd5f 100644 --- a/exporter/prometheusremotewriteexporter/DESIGN.md +++ b/exporter/prometheusremotewriteexporter/DESIGN.md @@ -45,10 +45,10 @@ Because of the gaps mentioned above, this project will convert from the current ## **2. Prometheus Remote Write/Cortex Exporter** -The Prometheus remote write/Cortex exporter should receive OTLP metrics, group data points by metric name and label set, convert each group to a TimeSeries, and send all TimeSeries to a storage backend via HTTP. +The Prometheus remote write/Cortex exporter should receive OTLP metrics, group data points by metric name and label set, convert each group to a TimeSeries, and send all TimeSeries to a storage backend via HTTP. ### **2.1 Receiving Metrics** -The Prometheus remote write/Cortex exporter receives a MetricsData instance in its PushMetrics() function. MetricsData contains a collection of Metric instances. Each Metric instance contains a series of data points, and each data point has a set of labels associated with it. Since Prometheus remote write TimeSeries are identified by unique sets of labels, the exporter needs to group data points within each Metric instance by their label set, and convert each group to a TimeSeries. +The Prometheus remote write/Cortex exporter receives a MetricsData instance in its PushMetrics() function. MetricsData contains a collection of Metric instances. Each Metric instance contains a series of data points, and each data point has a set of labels associated with it. Since Prometheus remote write TimeSeries are identified by unique sets of labels, the exporter needs to group data points within each Metric instance by their label set, and convert each group to a TimeSeries. To group data points by label set, the exporter should create a map with each PushMetrics() call. The key of the map should represent a combination of the following information: @@ -67,7 +67,7 @@ The value of the map should be Prometheus TimeSeries, and each data point’s va Pseudocode: - func PushMetrics(metricsData) { + func PushMetrics(metricsData) { // Create a map that stores distinct TimeSeries map := make(map[String][]TimeSeries) @@ -81,7 +81,7 @@ Pseudocode: // Add to TimeSeries // Sends TimeSeries to backend - export(map) + export(map) } ### **2.2 Mapping of OTLP Metrics to TimeSeries** diff --git a/exporter/prometheusremotewriteexporter/README.md b/exporter/prometheusremotewriteexporter/README.md index 806ee037e46c..64413927fb52 100644 --- a/exporter/prometheusremotewriteexporter/README.md +++ b/exporter/prometheusremotewriteexporter/README.md @@ -54,7 +54,7 @@ The following settings can be optionally configured: - `remote_write_queue`: fine tuning for queueing and sending of the outgoing remote writes. - `enabled`: enable the sending queue (default: `true`) - `queue_size`: number of OTLP metrics that can be queued. Ignored if `enabled` is `false` (default: `10000`) - - `num_consumers`: minimum number of workers to use to fan out the outgoing requests. (default: `5`) **WARNING:** Currently, num_consumers doesn't have any effect due to incompatibility with Prometheus remote write API. The value will be ignored. Please see https://github.com/open-telemetry/opentelemetry-collector/issues/2949 for more information. + - `num_consumers`: minimum number of workers to use to fan out the outgoing requests. (default: `5`) - `resource_to_telemetry_conversion` - `enabled` (default = false): If `enabled` is `true`, all the resource attributes will be converted to metric labels by default. - `target_info`: customize `target_info` metric diff --git a/exporter/prometheusremotewriteexporter/config.go b/exporter/prometheusremotewriteexporter/config.go index f63468783b1f..6a6f449a93dd 100644 --- a/exporter/prometheusremotewriteexporter/config.go +++ b/exporter/prometheusremotewriteexporter/config.go @@ -16,8 +16,8 @@ import ( // Config defines configuration for Remote Write exporter. type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // prefix attached to each exported metric name // See: https://prometheus.io/docs/practices/naming/#metric-names diff --git a/exporter/prometheusremotewriteexporter/config_test.go b/exporter/prometheusremotewriteexporter/config_test.go index 1057b0d0ebc8..1f37f7972a5e 100644 --- a/exporter/prometheusremotewriteexporter/config_test.go +++ b/exporter/prometheusremotewriteexporter/config_test.go @@ -29,6 +29,21 @@ func TestLoadConfig(t *testing.T) { cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) require.NoError(t, err) + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = "localhost:8888" + clientConfig.TLSSetting = configtls.ClientConfig{ + Config: configtls.Config{ + CAFile: "/var/lib/mycert.pem", // This is subject to change, but currently I have no idea what else to put here lol + }, + Insecure: false, + } + clientConfig.ReadBufferSize = 0 + clientConfig.WriteBufferSize = 512 * 1024 + clientConfig.Timeout = 5 * time.Second + clientConfig.Headers = map[string]configopaque.String{ + "Prometheus-Remote-Write-Version": "0.1.0", + "X-Scope-OrgID": "234", + } tests := []struct { id component.ID expected component.Config @@ -42,7 +57,7 @@ func TestLoadConfig(t *testing.T) { id: component.NewIDWithName(metadata.Type, "2"), expected: &Config{ MaxBatchSizeBytes: 3000000, - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackOffConfig: configretry.BackOffConfig{ Enabled: true, InitialInterval: 10 * time.Second, @@ -56,24 +71,10 @@ func TestLoadConfig(t *testing.T) { QueueSize: 2000, NumConsumers: 10, }, - AddMetricSuffixes: false, - Namespace: "test-space", - ExternalLabels: map[string]string{"key1": "value1", "key2": "value2"}, - ClientConfig: confighttp.ClientConfig{ - Endpoint: "localhost:8888", - TLSSetting: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "/var/lib/mycert.pem", // This is subject to change, but currently I have no idea what else to put here lol - }, - Insecure: false, - }, - ReadBufferSize: 0, - WriteBufferSize: 512 * 1024, - Timeout: 5 * time.Second, - Headers: map[string]configopaque.String{ - "Prometheus-Remote-Write-Version": "0.1.0", - "X-Scope-OrgID": "234"}, - }, + AddMetricSuffixes: false, + Namespace: "test-space", + ExternalLabels: map[string]string{"key1": "value1", "key2": "value2"}, + ClientConfig: clientConfig, ResourceToTelemetrySettings: resourcetotelemetry.Settings{Enabled: true}, TargetInfo: &TargetInfo{ Enabled: true, diff --git a/exporter/prometheusremotewriteexporter/exporter_test.go b/exporter/prometheusremotewriteexporter/exporter_test.go index f9dc584fdc55..87ead36d4ad7 100644 --- a/exporter/prometheusremotewriteexporter/exporter_test.go +++ b/exporter/prometheusremotewriteexporter/exporter_test.go @@ -41,11 +41,11 @@ import ( // Test_NewPRWExporter checks that a new exporter instance with non-nil fields is initialized func Test_NewPRWExporter(t *testing.T) { cfg := &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{}, + TimeoutSettings: exporterhelper.TimeoutConfig{}, BackOffConfig: configretry.BackOffConfig{}, Namespace: "", ExternalLabels: map[string]string{}, - ClientConfig: confighttp.ClientConfig{Endpoint: ""}, + ClientConfig: confighttp.NewDefaultClientConfig(), TargetInfo: &TargetInfo{ Enabled: true, }, @@ -137,7 +137,7 @@ func Test_NewPRWExporter(t *testing.T) { // Test_Start checks if the client is properly created as expected. func Test_Start(t *testing.T) { cfg := &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{}, + TimeoutSettings: exporterhelper.TimeoutConfig{}, BackOffConfig: configretry.BackOffConfig{}, MaxBatchSizeBytes: 3000000, Namespace: "", @@ -155,6 +155,21 @@ func Test_Start(t *testing.T) { } set := exportertest.NewNopSettings() set.BuildInfo = buildInfo + + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = "https://some.url:9411/api/prom/push" + clientConfigTLS := confighttp.NewDefaultClientConfig() + clientConfigTLS.Endpoint = "https://some.url:9411/api/prom/push" + clientConfigTLS.TLSSetting = configtls.ClientConfig{ + Config: configtls.Config{ + CAFile: "non-existent file", + CertFile: "", + KeyFile: "", + }, + Insecure: false, + ServerName: "", + } + tests := []struct { name string config *Config @@ -173,7 +188,7 @@ func Test_Start(t *testing.T) { concurrency: 5, externalLabels: map[string]string{"Key1": "Val1"}, set: set, - clientSettings: confighttp.ClientConfig{Endpoint: "https://some.url:9411/api/prom/push"}, + clientSettings: clientConfig, }, { name: "invalid_tls", @@ -183,18 +198,7 @@ func Test_Start(t *testing.T) { externalLabels: map[string]string{"Key1": "Val1"}, set: set, returnErrorOnStartUp: true, - clientSettings: confighttp.ClientConfig{ - Endpoint: "https://some.url:9411/api/prom/push", - TLSSetting: configtls.ClientConfig{ - Config: configtls.Config{ - CAFile: "non-existent file", - CertFile: "", - KeyFile: "", - }, - Insecure: false, - ServerName: "", - }, - }, + clientSettings: clientConfigTLS, }, } @@ -705,14 +709,13 @@ func Test_PushMetrics(t *testing.T) { MaxInterval: 1 * time.Second, // Shorter max interval MaxElapsedTime: 2 * time.Second, // Shorter max elapsed time } + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = server.URL + clientConfig.ReadBufferSize = 0 + clientConfig.WriteBufferSize = 512 * 1024 cfg := &Config{ - Namespace: "", - ClientConfig: confighttp.ClientConfig{ - Endpoint: server.URL, - // We almost read 0 bytes, so no need to tune ReadBufferSize. - ReadBufferSize: 0, - WriteBufferSize: 512 * 1024, - }, + Namespace: "", + ClientConfig: clientConfig, MaxBatchSizeBytes: 3000000, RemoteWriteQueue: RemoteWriteQueue{NumConsumers: 1}, TargetInfo: &TargetInfo{ @@ -938,11 +941,11 @@ func TestWALOnExporterRoundTrip(t *testing.T) { // 2. Create the WAL configuration, create the // exporter and export some time series! tempDir := t.TempDir() + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = prweServer.URL cfg := &Config{ - Namespace: "test_ns", - ClientConfig: confighttp.ClientConfig{ - Endpoint: prweServer.URL, - }, + Namespace: "test_ns", + ClientConfig: clientConfig, RemoteWriteQueue: RemoteWriteQueue{NumConsumers: 1}, WAL: &WALConfig{ Directory: tempDir, diff --git a/exporter/prometheusremotewriteexporter/factory.go b/exporter/prometheusremotewriteexporter/factory.go index 151ad5a81e5c..390b47839765 100644 --- a/exporter/prometheusremotewriteexporter/factory.go +++ b/exporter/prometheusremotewriteexporter/factory.go @@ -10,7 +10,6 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -43,10 +42,6 @@ func createMetricsExporter(ctx context.Context, set exporter.Settings, return nil, errors.New("invalid configuration") } - if prwCfg.RemoteWriteQueue.NumConsumers != 0 { - set.Logger.Warn("Currently, remote_write_queue.num_consumers doesn't have any effect due to incompatibility with Prometheus remote write API. The value will be ignored. Please see https://github.com/open-telemetry/opentelemetry-collector/issues/2949 for more information.") - } - prwe, err := newPRWExporter(prwCfg, set) if err != nil { return nil, err @@ -58,13 +53,13 @@ func createMetricsExporter(ctx context.Context, set exporter.Settings, // order for each timeseries. If we shard the incoming metrics // without considering this limitation, we experience // "out of order samples" errors. - exporter, err := exporterhelper.NewMetricsExporter( + exporter, err := exporterhelper.NewMetrics( ctx, set, cfg, prwe.PushMetrics, exporterhelper.WithTimeout(prwCfg.TimeoutSettings), - exporterhelper.WithQueue(exporterhelper.QueueSettings{ + exporterhelper.WithQueue(exporterhelper.QueueConfig{ Enabled: prwCfg.RemoteWriteQueue.Enabled, NumConsumers: 1, QueueSize: prwCfg.RemoteWriteQueue.QueueSize, @@ -81,23 +76,22 @@ func createMetricsExporter(ctx context.Context, set exporter.Settings, func createDefaultConfig() component.Config { retrySettings := configretry.NewDefaultBackOffConfig() retrySettings.InitialInterval = 50 * time.Millisecond + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = "http://some.url:9411/api/prom/push" + // We almost read 0 bytes, so no need to tune ReadBufferSize. + clientConfig.ReadBufferSize = 0 + clientConfig.WriteBufferSize = 512 * 1024 + clientConfig.Timeout = exporterhelper.NewDefaultTimeoutConfig().Timeout return &Config{ Namespace: "", ExternalLabels: map[string]string{}, MaxBatchSizeBytes: 3000000, - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackOffConfig: retrySettings, AddMetricSuffixes: true, SendMetadata: false, - ClientConfig: confighttp.ClientConfig{ - Endpoint: "http://some.url:9411/api/prom/push", - // We almost read 0 bytes, so no need to tune ReadBufferSize. - ReadBufferSize: 0, - WriteBufferSize: 512 * 1024, - Timeout: exporterhelper.NewDefaultTimeoutSettings().Timeout, - Headers: map[string]configopaque.String{}, - }, + ClientConfig: clientConfig, // TODO(jbd): Adjust the default queue size. RemoteWriteQueue: RemoteWriteQueue{ Enabled: true, diff --git a/exporter/prometheusremotewriteexporter/factory_test.go b/exporter/prometheusremotewriteexporter/factory_test.go index a486182e4dc7..e31254d1d491 100644 --- a/exporter/prometheusremotewriteexporter/factory_test.go +++ b/exporter/prometheusremotewriteexporter/factory_test.go @@ -27,7 +27,7 @@ func Test_createDefaultConfig(t *testing.T) { func Test_createMetricsExporter(t *testing.T) { invalidConfig := createDefaultConfig().(*Config) - invalidConfig.ClientConfig = confighttp.ClientConfig{} + invalidConfig.ClientConfig = confighttp.NewDefaultClientConfig() invalidTLSConfig := createDefaultConfig().(*Config) invalidTLSConfig.ClientConfig.TLSSetting = configtls.ClientConfig{ Config: configtls.Config{ diff --git a/exporter/prometheusremotewriteexporter/generated_component_test.go b/exporter/prometheusremotewriteexporter/generated_component_test.go index a97433ad8263..9d48b842f881 100644 --- a/exporter/prometheusremotewriteexporter/generated_component_test.go +++ b/exporter/prometheusremotewriteexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/prometheusremotewriteexporter/go.mod b/exporter/prometheusremotewriteexporter/go.mod index dc119cbb28bf..8e1d31349db7 100644 --- a/exporter/prometheusremotewriteexporter/go.mod +++ b/exporter/prometheusremotewriteexporter/go.mod @@ -7,46 +7,46 @@ require ( github.com/fsnotify/fsnotify v1.7.0 github.com/gogo/protobuf v1.3.2 github.com/golang/snappy v0.0.4 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.112.0 github.com/prometheus/prometheus v0.54.1 github.com/stretchr/testify v1.9.0 github.com/tidwall/wal v1.1.7 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -54,41 +54,39 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/prometheus/common v0.60.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/tidwall/gjson v1.10.2 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect github.com/tidwall/tinylru v1.1.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/prometheusremotewriteexporter/go.sum b/exporter/prometheusremotewriteexporter/go.sum index cb884f448856..dc08e0004607 100644 --- a/exporter/prometheusremotewriteexporter/go.sum +++ b/exporter/prometheusremotewriteexporter/go.sum @@ -1,5 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -17,8 +15,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -36,8 +34,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -48,8 +46,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -59,23 +55,19 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/prometheus v0.54.1 h1:vKuwQNjnYN2/mDoWfHXDhAsz/68q/dQDb+YbcEqU7MQ= github.com/prometheus/prometheus v0.54.1/go.mod h1:xlLByHhk2g3ycakQGrMaU8K7OySZx98BzeCR99991NY= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -94,74 +86,76 @@ github.com/tidwall/wal v1.1.7 h1:emc1TRjIVsdKKSnpwGBAcsAGg0767SvUk8+ygx7Bb+4= github.com/tidwall/wal v1.1.7/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -177,20 +171,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -201,10 +195,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry.go b/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry.go index 3492cf944063..fdd163bf29ec 100644 --- a/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry.go +++ b/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry.go @@ -34,15 +34,23 @@ type TelemetryBuilder struct { meters map[configtelemetry.Level]metric.Meter } -// telemetryBuilderOption applies changes to default builder. -type telemetryBuilderOption func(*TelemetryBuilder) +// TelemetryBuilderOption applies changes to default builder. +type TelemetryBuilderOption interface { + apply(*TelemetryBuilder) +} + +type telemetryBuilderOptionFunc func(mb *TelemetryBuilder) + +func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { + tbof(mb) +} // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component -func NewTelemetryBuilder(settings component.TelemetrySettings, options ...telemetryBuilderOption) (*TelemetryBuilder, error) { +func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { builder := TelemetryBuilder{meters: map[configtelemetry.Level]metric.Meter{}} for _, op := range options { - op(&builder) + op.apply(&builder) } builder.meters[configtelemetry.LevelBasic] = LeveledMeter(settings, configtelemetry.LevelBasic) var err, errs error diff --git a/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry_test.go b/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry_test.go index ae14e4440bdc..4af5484c7606 100644 --- a/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry_test.go +++ b/exporter/prometheusremotewriteexporter/internal/metadata/generated_telemetry_test.go @@ -75,9 +75,9 @@ func TestNewTelemetryBuilder(t *testing.T) { TracerProvider: mockTracerProvider{}, } applied := false - _, err := NewTelemetryBuilder(set, func(b *TelemetryBuilder) { + _, err := NewTelemetryBuilder(set, telemetryBuilderOptionFunc(func(b *TelemetryBuilder) { applied = true - }) + })) require.NoError(t, err) require.True(t, applied) } diff --git a/exporter/pulsarexporter/config.go b/exporter/pulsarexporter/config.go index 8bc9d557ecc9..ceca224ac653 100644 --- a/exporter/pulsarexporter/config.go +++ b/exporter/pulsarexporter/config.go @@ -16,9 +16,9 @@ import ( // Config defines configuration for Pulsar exporter. type Config struct { - exporterhelper.TimeoutSettings `mapstructure:",squash"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // Endpoint of pulsar broker (default "pulsar://localhost:6650") Endpoint string `mapstructure:"endpoint"` @@ -145,7 +145,7 @@ func (cfg *Config) clientOptions() pulsar.ClientOptions { func (cfg *Config) getProducerOptions() pulsar.ProducerOptions { producerOptions := pulsar.ProducerOptions{ Topic: cfg.Topic, - SendTimeout: cfg.Timeout, + SendTimeout: cfg.TimeoutSettings.Timeout, BatcherBuilderType: cfg.Producer.BatcherBuilderType.ToPulsar(), BatchingMaxMessages: cfg.Producer.BatchingMaxMessages, BatchingMaxPublishDelay: cfg.Producer.BatchingMaxPublishDelay, diff --git a/exporter/pulsarexporter/config_test.go b/exporter/pulsarexporter/config_test.go index 048878af5e41..206e393b7f6e 100644 --- a/exporter/pulsarexporter/config_test.go +++ b/exporter/pulsarexporter/config_test.go @@ -33,7 +33,7 @@ func TestLoadConfig(t *testing.T) { { id: component.NewIDWithName(metadata.Type, ""), expected: &Config{ - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 20 * time.Second, }, BackOffConfig: configretry.BackOffConfig{ @@ -44,7 +44,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/exporter/pulsarexporter/factory.go b/exporter/pulsarexporter/factory.go index 85e87f839915..0ea0ac6757c1 100644 --- a/exporter/pulsarexporter/factory.go +++ b/exporter/pulsarexporter/factory.go @@ -59,9 +59,9 @@ func NewFactory(options ...FactoryOption) exporter.Factory { func createDefaultConfig() component.Config { return &Config{ - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), Endpoint: defaultBroker, // using an empty topic to track when it has not been set by user, default is based on traces or metrics. Topic: "", @@ -95,7 +95,7 @@ func (f *pulsarExporterFactory) createTracesExporter( if err != nil { return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -103,7 +103,7 @@ func (f *pulsarExporterFactory) createTracesExporter( exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), // Disable exporterhelper Timeout, because we cannot pass a Context to the Producer, // and will rely on the Pulsar Producer Timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(oCfg.BackOffConfig), exporterhelper.WithQueue(oCfg.QueueSettings), exporterhelper.WithStart(exp.start), @@ -126,7 +126,7 @@ func (f *pulsarExporterFactory) createMetricsExporter( if err != nil { return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, set, cfg, @@ -134,7 +134,7 @@ func (f *pulsarExporterFactory) createMetricsExporter( exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), // Disable exporterhelper Timeout, because we cannot pass a Context to the Producer, // and will rely on the sarama Pulsar Timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(oCfg.BackOffConfig), exporterhelper.WithQueue(oCfg.QueueSettings), exporterhelper.WithStart(exp.start), @@ -157,7 +157,7 @@ func (f *pulsarExporterFactory) createLogsExporter( if err != nil { return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, @@ -165,7 +165,7 @@ func (f *pulsarExporterFactory) createLogsExporter( exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: false}), // Disable exporterhelper Timeout, because we cannot pass a Context to the Producer, // and will rely on the Pulsar Producer Timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(oCfg.BackOffConfig), exporterhelper.WithQueue(oCfg.QueueSettings), exporterhelper.WithStart(exp.start), diff --git a/exporter/pulsarexporter/factory_test.go b/exporter/pulsarexporter/factory_test.go index 05338c7d5823..a4e2b40bcb3e 100644 --- a/exporter/pulsarexporter/factory_test.go +++ b/exporter/pulsarexporter/factory_test.go @@ -19,9 +19,9 @@ import ( func Test_createDefaultConfig(t *testing.T) { cfg := createDefaultConfig() assert.Equal(t, &Config{ - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), Endpoint: defaultBroker, Topic: "", @@ -39,14 +39,14 @@ func TestWithTracesMarshalers_err(t *testing.T) { tracesMarshaler := &customTraceMarshaler{encoding: "unknown"} f := NewFactory(withTracesMarshalers(tracesMarshaler)) - r, err := f.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + r, err := f.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = r.Start(context.Background(), componenttest.NewNopHost()) // no available broker require.Error(t, err) } -func TestCreateTracesExporter_err(t *testing.T) { +func TestCreateTraces_err(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.Endpoint = "" @@ -58,7 +58,7 @@ func TestCreateTracesExporter_err(t *testing.T) { require.Error(t, err) } -func TestCreateMetricsExporter_err(t *testing.T) { +func TestCreateMetrics_err(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.Endpoint = "" @@ -69,7 +69,7 @@ func TestCreateMetricsExporter_err(t *testing.T) { require.Error(t, err) } -func TestCreateLogsExporter_err(t *testing.T) { +func TestCreateLogs_err(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.Endpoint = "" diff --git a/exporter/pulsarexporter/generated_component_test.go b/exporter/pulsarexporter/generated_component_test.go index 285b43121c93..baf8216121de 100644 --- a/exporter/pulsarexporter/generated_component_test.go +++ b/exporter/pulsarexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/pulsarexporter/go.mod b/exporter/pulsarexporter/go.mod index fbdef8e1031b..221b1cf07c1c 100644 --- a/exporter/pulsarexporter/go.mod +++ b/exporter/pulsarexporter/go.mod @@ -3,21 +3,23 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsar go 1.22.0 require ( - github.com/apache/pulsar-client-go v0.13.1 + github.com/apache/pulsar-client-go v0.14.0 github.com/cenkalti/backoff/v4 v4.3.0 github.com/gogo/protobuf v1.3.2 - github.com/jaegertracing/jaeger v1.60.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 + github.com/jaegertracing/jaeger v1.62.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 @@ -28,7 +30,7 @@ require ( github.com/99designs/keyring v1.2.1 // indirect github.com/AthenZ/athenz v1.10.39 // indirect github.com/DataDog/zstd v1.5.0 // indirect - github.com/apache/thrift v0.20.0 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/ardielle/ardielle-go v1.5.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bits-and-blooms/bitset v1.4.0 // indirect @@ -39,7 +41,7 @@ require ( github.com/frankban/quicktest v1.14.3 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/golang-jwt/jwt/v5 v5.2.1 // indirect github.com/golang/protobuf v1.5.4 // indirect @@ -49,7 +51,7 @@ require ( github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.10 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -63,38 +65,37 @@ require ( github.com/pierrec/lz4 v2.6.1+incompatible // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.4 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.60.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/mod v0.20.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/pulsarexporter/go.sum b/exporter/pulsarexporter/go.sum index d511fc394d8a..f41d7ea6078e 100644 --- a/exporter/pulsarexporter/go.sum +++ b/exporter/pulsarexporter/go.sum @@ -15,10 +15,10 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.11.5 h1:haEcLNpj9Ka1gd3B3tAEs9CpE0c+1IhoL59w/exYU38= github.com/Microsoft/hcsshim v0.11.5/go.mod h1:MV8xMfmECjl5HdO7U/3/hFVnkmSBjAjmA09d4bExKcU= -github.com/apache/pulsar-client-go v0.13.1 h1:XAAKXjF99du7LP6qu/nBII1HC2nS483/vQoQIWmm5Yg= -github.com/apache/pulsar-client-go v0.13.1/go.mod h1:0X5UCs+Cv5w6Ds38EZebUMfyVUFIh+URF2BeipEVhIU= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= +github.com/apache/pulsar-client-go v0.14.0 h1:P7yfAQhQ52OCAu8yVmtdbNQ81vV8bF54S2MLmCPJC9w= +github.com/apache/pulsar-client-go v0.14.0/go.mod h1:PNUE29x9G1EHMvm41Bs2vcqwgv7N8AEjeej+nEVYbX8= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4= github.com/ardielle/ardielle-go v1.5.2/go.mod h1:I4hy1n795cUhaVt/ojz83SNVCYIGsAFAONtv2Dr7HUI= github.com/ardielle/ardielle-tools v1.5.4/go.mod h1:oZN+JRMnqGiIhrzkRN9l26Cej9dEx4jeNG6A+AdkShk= @@ -50,8 +50,8 @@ github.com/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4w github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/docker v27.0.3+incompatible h1:aBGI9TeQ4MPlhquTQKq9XbK79rKFVwXNUAYz9aXyEBE= -github.com/docker/docker v27.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY= +github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -72,8 +72,8 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -101,8 +101,8 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/jawher/mow.cli v1.0.4/go.mod h1:5hQj2V8g+qYmLUVWqu4Wuja1pI57M83EChYLVZ0sMKk= github.com/jawher/mow.cli v1.2.0/go.mod h1:y+pcA3jBAdo/GIZx/0rFjw/K2bVEODP9rfZOfaiq8Ko= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= @@ -110,8 +110,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.10 h1:oXAz+Vh0PMUvJczoi+flxpnBEPxoER1IaAnU/NMPtT0= +github.com/klauspost/compress v1.17.10/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -127,8 +127,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c h1:VtwQ41oftZwlMnOEbMWQtSEUgU64U4s+GHk7hZK+jtY= github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -180,12 +178,12 @@ 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/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/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= +github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -219,58 +217,61 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.111.0 h1:D3LJTYrrK2ac94E2PXPSbVkArqxbklbCLsE4MAJQdRo= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -283,8 +284,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= @@ -296,10 +297,10 @@ golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -310,17 +311,17 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -330,12 +331,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/exporter/pulsarexporter/jaeger_marshaler.go b/exporter/pulsarexporter/jaeger_marshaler.go index 79a927a12f2e..786140d2c67d 100644 --- a/exporter/pulsarexporter/jaeger_marshaler.go +++ b/exporter/pulsarexporter/jaeger_marshaler.go @@ -22,10 +22,7 @@ type jaegerMarshaler struct { var _ TracesMarshaler = (*jaegerMarshaler)(nil) func (j jaegerMarshaler) Marshal(traces ptrace.Traces, _ string) ([]*pulsar.ProducerMessage, error) { - batches, err := jaeger.ProtoFromTraces(traces) - if err != nil { - return nil, err - } + batches := jaeger.ProtoFromTraces(traces) var errs error messages := make([]*pulsar.ProducerMessage, 0, len(batches)) diff --git a/exporter/pulsarexporter/jaeger_marshaler_test.go b/exporter/pulsarexporter/jaeger_marshaler_test.go index e4fb6d06e948..4df974bac0f2 100644 --- a/exporter/pulsarexporter/jaeger_marshaler_test.go +++ b/exporter/pulsarexporter/jaeger_marshaler_test.go @@ -30,8 +30,7 @@ func buildTraces() ptrace.Traces { func TestJaegerJsonBatchMarshaler(t *testing.T) { ptraces := buildTraces() - batches, err := jaeger.ProtoFromTraces(ptraces) - require.NoError(t, err) + batches := jaeger.ProtoFromTraces(ptraces) jsonMarshaler := &jsonpb.Marshaler{} buffer := new(bytes.Buffer) @@ -43,13 +42,12 @@ func TestJaegerJsonBatchMarshaler(t *testing.T) { } jaegerJSONMessages, err := jaegerJSONMarshaler.Marshal(ptraces, "") require.NoError(t, err) - assert.Equal(t, jaegerJSONMessages[0].Payload, jsonBytes) + assert.JSONEq(t, string(jaegerJSONMessages[0].Payload), string(jsonBytes)) } func TestJaegerProtoBatchMarshaler(t *testing.T) { ptraces := buildTraces() - batches, err := jaeger.ProtoFromTraces(ptraces) - require.NoError(t, err) + batches := jaeger.ProtoFromTraces(ptraces) jaegerProtoBytes, err := batches[0].Marshal() require.NoError(t, err) diff --git a/exporter/pulsarexporter/marshaler_test.go b/exporter/pulsarexporter/marshaler_test.go index 318dd7b580b7..d84f69c89e02 100644 --- a/exporter/pulsarexporter/marshaler_test.go +++ b/exporter/pulsarexporter/marshaler_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) func TestDefaultTracesMarshalers(t *testing.T) { @@ -102,7 +102,7 @@ func TestOTLPTracesJsonMarshaling(t *testing.T) { // Since marshaling json is not guaranteed to be in order // within a string, using a map to compare that the expected values are there - expectedJSON := map[string]any{ + expectedMap := map[string]any{ "resourceSpans": []any{ map[string]any{ "resource": map[string]any{}, @@ -133,5 +133,5 @@ func TestOTLPTracesJsonMarshaling(t *testing.T) { err = json.Unmarshal(payload, &final) require.NoError(t, err, "Must not error marshaling expected data") - assert.Equal(t, expectedJSON, final, "Must match the expected value") + assert.Equal(t, expectedMap, final, "Must match the expected value") } diff --git a/exporter/rabbitmqexporter/README.md b/exporter/rabbitmqexporter/README.md index 72c774ffb8d3..147f0eab31d0 100644 --- a/exporter/rabbitmqexporter/README.md +++ b/exporter/rabbitmqexporter/README.md @@ -21,35 +21,36 @@ This component expects that exchanges, queues, and bindings already exist - they The following settings can be configured: - `connection`: - - `endpoint` (required, ex = amqp://localhost:5672): Endpoint to connect to RabbitMQ - - `vhost` (optional): The RabbitMQ [virtual host](https://www.rabbitmq.com/docs/vhosts) to connect to - - `auth`: - - `plain`: Configuration if using SASL PLAIN authentication - - `username` (required): username for authentication - - `password`: password for authentication - - `tls` (optional): [TLS configuration](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/configtls.go#L32) - - `routing`: - - `routing_key` (default = otlp_spans for traces, otlp_metrics for metrics, otlp_logs for logs): Routing key used to route exported messages to RabbitMQ consumers - - `exchange`: Name of the exchange used to route messages. If omitted, the [default exchange](https://www.rabbitmq.com/tutorials/amqp-concepts#exchange-default) is used which routes to a queue with the same as the routing key. Only [direct exchanges](https://www.rabbitmq.com/tutorials/amqp-concepts#exchange-direct) are currently supported. Note that this component does not handle queue creation or binding. - - `durable` (default = true): Whether to instruct RabbitMQ to make messages [durable](https://www.rabbitmq.com/docs/queues#durability) by writing to disk - - `encoding_extension`: (defaults to OTLP protobuf format): ID of the [encoding extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding) to use to marshal data - - `retry_on_failure`: - - `enabled` (default = false) + - `endpoint` (required, ex = amqp://localhost:5672): Endpoint to connect to RabbitMQ + - `vhost` (optional): The RabbitMQ [virtual host](https://www.rabbitmq.com/docs/vhosts) to connect to + - `auth`: + - `plain`: Configuration if using SASL PLAIN authentication + - `username` (required): username for authentication + - `password`: password for authentication + - `tls` (optional): [TLS configuration](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/configtls.go#L32) + - `name` (optional): The name of the connection, visible in in RabbitMQ management interface +- `routing`: + - `routing_key` (default = otlp_spans for traces, otlp_metrics for metrics, otlp_logs for logs): Routing key used to route exported messages to RabbitMQ consumers + - `exchange`: Name of the exchange used to route messages. If omitted, the [default exchange](https://www.rabbitmq.com/tutorials/amqp-concepts#exchange-default) is used which routes to a queue with the same as the routing key. Only [direct exchanges](https://www.rabbitmq.com/tutorials/amqp-concepts#exchange-direct) are currently supported. Note that this component does not handle queue creation or binding. +- `durable` (default = true): Whether to instruct RabbitMQ to make messages [durable](https://www.rabbitmq.com/docs/queues#durability) by writing to disk +- `encoding_extension`: (defaults to OTLP protobuf format): ID of the [encoding extension](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding) to use to marshal data +- `retry_on_failure`: + - `enabled` (default = false) Example config: ```yaml exporters: rabbitmq: - connection: - endpoint: amqp://localhost:5672 - auth: - plain: - username: user - password: pass - encoding_extension: otlp_encoding/rabbitmq + connection: + endpoint: amqp://localhost:5672 + auth: + plain: + username: user + password: pass + encoding_extension: otlp_encoding/rabbitmq extensions: otlp_encoding/rabbitmq: protocol: otlp_json -``` \ No newline at end of file +``` diff --git a/exporter/rabbitmqexporter/config.go b/exporter/rabbitmqexporter/config.go index f3bd7cdee175..6bc095037caa 100644 --- a/exporter/rabbitmqexporter/config.go +++ b/exporter/rabbitmqexporter/config.go @@ -28,6 +28,7 @@ type ConnectionConfig struct { ConnectionTimeout time.Duration `mapstructure:"connection_timeout"` Heartbeat time.Duration `mapstructure:"heartbeat"` PublishConfirmationTimeout time.Duration `mapstructure:"publish_confirmation_timeout"` + Name string `mapstructure:"name"` } type RoutingConfig struct { diff --git a/exporter/rabbitmqexporter/factory.go b/exporter/rabbitmqexporter/factory.go index 2c08f98aaf3e..cf92f55b765e 100644 --- a/exporter/rabbitmqexporter/factory.go +++ b/exporter/rabbitmqexporter/factory.go @@ -28,9 +28,9 @@ const ( metricsRoutingKey = "otlp_metrics" logsRoutingKey = "otlp_logs" - spansConnectionName = "otel-collector-spans" - metricsConnectionName = "otel-collector-metrics" - logsConnectionName = "otel-collector-logs" + defaultSpansConnectionName = "otel-collector-spans" + defaultMetricsConnectionName = "otel-collector-metrics" + defaultLogsConnectionName = "otel-collector-logs" ) func NewFactory() exporter.Factory { @@ -66,9 +66,13 @@ func createTracesExporter( config := cfg.(*Config) routingKey := getRoutingKeyOrDefault(config, spansRoutingKey) - r := newRabbitmqExporter(config, set.TelemetrySettings, newPublisherFactory(set), newTLSFactory(config), routingKey, spansConnectionName) + connectionName := defaultSpansConnectionName + if config.Connection.Name != "" { + connectionName = config.Connection.Name + } + r := newRabbitmqExporter(config, set.TelemetrySettings, newPublisherFactory(set), newTLSFactory(config), routingKey, connectionName) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -88,9 +92,14 @@ func createMetricsExporter( config := (cfg.(*Config)) routingKey := getRoutingKeyOrDefault(config, metricsRoutingKey) - r := newRabbitmqExporter(config, set.TelemetrySettings, newPublisherFactory(set), newTLSFactory(config), routingKey, metricsConnectionName) - return exporterhelper.NewMetricsExporter( + connectionName := defaultMetricsConnectionName + if config.Connection.Name != "" { + connectionName = config.Connection.Name + } + r := newRabbitmqExporter(config, set.TelemetrySettings, newPublisherFactory(set), newTLSFactory(config), routingKey, connectionName) + + return exporterhelper.NewMetrics( ctx, set, cfg, @@ -110,9 +119,13 @@ func createLogsExporter( config := (cfg.(*Config)) routingKey := getRoutingKeyOrDefault(config, logsRoutingKey) - r := newRabbitmqExporter(config, set.TelemetrySettings, newPublisherFactory(set), newTLSFactory(config), routingKey, logsConnectionName) + connectionName := defaultLogsConnectionName + if config.Connection.Name != "" { + connectionName = config.Connection.Name + } + r := newRabbitmqExporter(config, set.TelemetrySettings, newPublisherFactory(set), newTLSFactory(config), routingKey, connectionName) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, set, cfg, diff --git a/exporter/rabbitmqexporter/factory_test.go b/exporter/rabbitmqexporter/factory_test.go index 41a6cc71ef06..e4697891d5e7 100644 --- a/exporter/rabbitmqexporter/factory_test.go +++ b/exporter/rabbitmqexporter/factory_test.go @@ -20,29 +20,39 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() - te, err := factory.CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + te, err := factory.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, te) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() - te, err := factory.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + te, err := factory.CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, te) } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() - te, err := factory.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + te, err := factory.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) + assert.NoError(t, err) + assert.NotNil(t, te) +} + +func TestCreateMetricsWithConnectionName(t *testing.T) { + factory := NewFactory() + cfg := factory.CreateDefaultConfig().(*Config) + cfg.Connection.Name = "my-conn-name" + + te, err := factory.CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, te) } @@ -52,7 +62,17 @@ func TestCreateExporterWithCustomRoutingKey(t *testing.T) { cfg := factory.CreateDefaultConfig().(*Config) cfg.Routing.RoutingKey = "custom_routing_key" - te, err := factory.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + te, err := factory.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) + assert.NoError(t, err) + assert.NotNil(t, te) +} + +func TestCreateExporterWithConnectionName(t *testing.T) { + factory := NewFactory() + cfg := factory.CreateDefaultConfig().(*Config) + cfg.Connection.Name = "my-conn-name" + + te, err := factory.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, te) } @@ -62,7 +82,17 @@ func TestCreateExporterWithTLSSettings(t *testing.T) { cfg := factory.CreateDefaultConfig().(*Config) cfg.Connection.TLSConfig = &configtls.ClientConfig{} - te, err := factory.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + te, err := factory.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) + assert.NoError(t, err) + assert.NotNil(t, te) +} + +func TestCreateTracesWithConnectionName(t *testing.T) { + factory := NewFactory() + cfg := factory.CreateDefaultConfig().(*Config) + cfg.Connection.Name = "my-conn-name" + + te, err := factory.CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) assert.NotNil(t, te) } diff --git a/exporter/rabbitmqexporter/generated_component_test.go b/exporter/rabbitmqexporter/generated_component_test.go index eebcb5a18676..79fdd18f72dc 100644 --- a/exporter/rabbitmqexporter/generated_component_test.go +++ b/exporter/rabbitmqexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/rabbitmqexporter/go.mod b/exporter/rabbitmqexporter/go.mod index 374d6d1d7976..7a1527fd2022 100644 --- a/exporter/rabbitmqexporter/go.mod +++ b/exporter/rabbitmqexporter/go.mod @@ -3,18 +3,19 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/rabbit go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/rabbitmq v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/rabbitmq v0.112.0 github.com/rabbitmq/amqp091-go v1.10.0 github.com/stretchr/testify v1.9.0 github.com/testcontainers/testcontainers-go v0.31.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -24,9 +25,7 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Microsoft/hcsshim v0.11.4 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/containerd/containerd v1.7.15 // indirect github.com/containerd/log v0.1.0 // indirect github.com/cpuguy83/dockercfg v0.3.1 // indirect @@ -40,7 +39,7 @@ require ( github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -60,16 +59,12 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/morikuni/aec v1.0.0 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/sirupsen/logrus v1.9.3 // indirect @@ -77,35 +72,35 @@ require ( github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/mod v0.19.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/tools v0.23.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/rabbitmqexporter/go.sum b/exporter/rabbitmqexporter/go.sum index fa562d321fa9..0510416467f3 100644 --- a/exporter/rabbitmqexporter/go.sum +++ b/exporter/rabbitmqexporter/go.sum @@ -8,12 +8,8 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/containerd/containerd v1.7.15 h1:afEHXdil9iAm03BmhjzKyXnnEBtjaLJefdU7DV0IFes= github.com/containerd/containerd v1.7.15/go.mod h1:ISzRRTMF8EXNpJlTzyr2XMhN+j9K302C21/+cr3kUnY= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= @@ -44,8 +40,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -54,8 +50,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -72,8 +68,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -99,8 +93,6 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -111,18 +103,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rabbitmq/amqp091-go v1.10.0 h1:STpn5XsHlHGcecLmMFCtg7mqq0RnD+zFr4uzukfVhBw= github.com/rabbitmq/amqp091-go v1.10.0/go.mod h1:Hy4jKW5kQART1u+JkDTF9YYOQUHXqMuhrgxOEeS7G4o= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= @@ -148,64 +132,66 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -241,14 +227,14 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -262,14 +248,14 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/rabbitmqexporter/integration_test.go b/exporter/rabbitmqexporter/integration_test.go index 85fa951782d6..0c6a0a7e42b4 100644 --- a/exporter/rabbitmqexporter/integration_test.go +++ b/exporter/rabbitmqexporter/integration_test.go @@ -62,7 +62,7 @@ func TestExportWithNetworkIssueRecovery(t *testing.T) { cfg.Connection.Endpoint = endpoint cfg.Connection.VHost = vhost cfg.Connection.Auth = AuthConfig{Plain: PlainAuth{Username: username, Password: password}} - exporter, err := factory.CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + exporter, err := factory.CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = exporter.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err) diff --git a/exporter/rabbitmqexporter/marshaler_test.go b/exporter/rabbitmqexporter/marshaler_test.go index b28c24d8c701..4253b908a260 100644 --- a/exporter/rabbitmqexporter/marshaler_test.go +++ b/exporter/rabbitmqexporter/marshaler_test.go @@ -39,14 +39,6 @@ type mockEncodingExtension struct { mock.Mock } -func (h *mockHostWithEncodings) GetFactory(component.Kind, component.Type) component.Factory { - return nil -} - -func (h *mockHostWithEncodings) GetExporters() map[component.DataType]map[component.ID]component.Component { - return nil -} - func (h *mockHostWithEncodings) GetExtensions() map[component.ID]component.Component { args := h.Called() return args.Get(0).(map[component.ID]component.Component) diff --git a/exporter/sapmexporter/config.go b/exporter/sapmexporter/config.go index 0c34eb7d23df..b1f7993bcda8 100644 --- a/exporter/sapmexporter/config.go +++ b/exporter/sapmexporter/config.go @@ -49,9 +49,9 @@ type Config struct { splunk.AccessTokenPassthroughConfig `mapstructure:",squash"` - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` } func (c *Config) Validate() error { diff --git a/exporter/sapmexporter/config_test.go b/exporter/sapmexporter/config_test.go index 06007a91f5d8..099fbe2e3453 100644 --- a/exporter/sapmexporter/config_test.go +++ b/exporter/sapmexporter/config_test.go @@ -49,7 +49,7 @@ func TestLoadConfig(t *testing.T) { AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{ AccessTokenPassthrough: false, }, - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 10 * time.Second, }, BackOffConfig: configretry.BackOffConfig{ @@ -60,7 +60,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -110,7 +110,7 @@ func TestInvalidConfig(t *testing.T) { invalid = Config{ Endpoint: "abcd1234", - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, QueueSize: -1, }, diff --git a/exporter/sapmexporter/exporter.go b/exporter/sapmexporter/exporter.go index 763f3acdb147..df56738c9d77 100644 --- a/exporter/sapmexporter/exporter.go +++ b/exporter/sapmexporter/exporter.go @@ -10,6 +10,7 @@ import ( "github.com/jaegertracing/jaeger/model" sapmclient "github.com/signalfx/sapm-proto/client" + "go.opentelemetry.io/collector/client" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumererror" @@ -42,7 +43,6 @@ func (se *sapmExporter) Shutdown(context.Context) error { } func newSAPMExporter(cfg *Config, params exporter.Settings) (sapmExporter, error) { - client, err := sapmclient.New(cfg.clientOptions()...) if err != nil { return sapmExporter{}, err @@ -61,7 +61,7 @@ func newSAPMTracesExporter(cfg *Config, set exporter.Settings) (exporter.Traces, return nil, err } - te, err := exporterhelper.NewTracesExporter( + te, err := exporterhelper.NewTraces( context.TODO(), set, cfg, @@ -71,7 +71,6 @@ func newSAPMTracesExporter(cfg *Config, set exporter.Settings) (exporter.Traces, exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithTimeout(cfg.TimeoutSettings), ) - if err != nil { return nil, err } @@ -95,12 +94,9 @@ func (se *sapmExporter) pushTraceData(ctx context.Context, td ptrace.Traces) err return nil } - // All metrics in the pmetric.Metrics will have the same access token because of the BatchPerResourceMetrics. - accessToken := se.retrieveAccessToken(rss.At(0)) - batches, err := jaeger.ProtoFromTraces(td) - if err != nil { - return consumererror.NewPermanent(err) - } + accessToken := se.retrieveAccessToken(ctx, rss.At(0)) + + batches := jaeger.ProtoFromTraces(td) // Cannot remove the access token from the pdata, because exporters required to not modify incoming pdata, // so need to remove that after conversion. @@ -126,12 +122,18 @@ func (se *sapmExporter) pushTraceData(ctx context.Context, td ptrace.Traces) err return nil } -func (se *sapmExporter) retrieveAccessToken(md ptrace.ResourceSpans) string { +func (se *sapmExporter) retrieveAccessToken(ctx context.Context, md ptrace.ResourceSpans) string { if !se.config.AccessTokenPassthrough { // Nothing to do if token is pass through not configured or resource is nil. return "" } + cl := client.FromContext(ctx) + ss := cl.Metadata.Get(splunk.SFxAccessTokenHeader) + if len(ss) > 0 { + return ss[0] + } + attrs := md.Resource().Attributes() if accessToken, ok := attrs.Get(splunk.SFxAccessTokenLabel); ok { return accessToken.Str() diff --git a/exporter/sapmexporter/exporter_test.go b/exporter/sapmexporter/exporter_test.go index 9830ab2ce1c9..3e56658405f2 100644 --- a/exporter/sapmexporter/exporter_test.go +++ b/exporter/sapmexporter/exporter_test.go @@ -18,6 +18,7 @@ import ( splunksapm "github.com/signalfx/sapm-proto/gen" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/client" "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/pdata/ptrace" @@ -25,7 +26,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger" ) -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cfg := &Config{ Endpoint: "test-endpoint", AccessToken: "abcd1234", @@ -91,8 +92,7 @@ func TestFilterToken(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { traces := buildTestTraces(tt.useToken) - batches, err := jaeger.ProtoFromTraces(traces) - require.NoError(t, err) + batches := jaeger.ProtoFromTraces(traces) assert.Equal(t, tt.useToken, hasToken(batches)) filterToken(batches) assert.False(t, hasToken(batches)) @@ -215,6 +215,79 @@ func TestSAPMClientTokenUsageAndErrorMarshalling(t *testing.T) { } } +func TestSAPMClientTokenAccess(t *testing.T) { + tests := []struct { + name string + inContext bool + accessTokenPassthrough bool + }{ + { + name: "Token in context with passthrough", + inContext: true, + accessTokenPassthrough: true, + }, + { + name: "Token in attributes with passthrough", + inContext: false, + accessTokenPassthrough: true, + }, + { + name: "Token in config wihout passthrough", + inContext: false, + accessTokenPassthrough: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tracesReceived := false + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + expectedToken := "ClientAccessToken" + if tt.accessTokenPassthrough && tt.inContext { + expectedToken = "SplunkAccessToken" + } else if tt.accessTokenPassthrough && !tt.inContext { + expectedToken = "TraceAccessToken0" + } + assert.Contains(t, r.Header.Get("x-sf-token"), expectedToken) + status := 200 + w.WriteHeader(status) + tracesReceived = true + })) + defer func() { + assert.True(t, tracesReceived, "Test server never received traces.") + }() + defer server.Close() + + cfg := &Config{ + Endpoint: server.URL, + AccessToken: "ClientAccessToken", + AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{ + AccessTokenPassthrough: tt.accessTokenPassthrough, + }, + } + params := exportertest.NewNopSettings() + + se, err := newSAPMExporter(cfg, params) + assert.NoError(t, err) + assert.NotNil(t, se, "failed to create trace exporter") + + trace, testTraceErr := buildTestTrace() + require.NoError(t, testTraceErr) + + ctx := context.Background() + if tt.inContext { + ctx = client.NewContext( + ctx, + client.Info{Metadata: client.NewMetadata( + map[string][]string{splunk.SFxAccessTokenHeader: {"SplunkAccessToken"}}, + )}, + ) + } + err = se.pushTraceData(ctx, trace) + require.NoError(t, err) + }) + } +} + func decompress(body io.Reader, compression string) ([]byte, error) { switch compression { case "": @@ -291,11 +364,11 @@ func TestCompression(t *testing.T) { assert.EqualValues(t, compression, tt.receivedCompression) payload, err := decompress(r.Body, compression) - require.NoError(t, err) + assert.NoError(t, err) var sapm splunksapm.PostSpansRequest err = sapm.Unmarshal(payload) - require.NoError(t, err) + assert.NoError(t, err) w.WriteHeader(200) tracesReceived = true diff --git a/exporter/sapmexporter/factory.go b/exporter/sapmexporter/factory.go index df852b763d68..c99a5432801a 100644 --- a/exporter/sapmexporter/factory.go +++ b/exporter/sapmexporter/factory.go @@ -33,9 +33,9 @@ func createDefaultConfig() component.Config { AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{ AccessTokenPassthrough: true, }, - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), } } diff --git a/exporter/sapmexporter/factory_test.go b/exporter/sapmexporter/factory_test.go index 071eb587e25d..b8378c29accc 100644 --- a/exporter/sapmexporter/factory_test.go +++ b/exporter/sapmexporter/factory_test.go @@ -28,11 +28,11 @@ func TestCreateExporter(t *testing.T) { eCfg.Endpoint = "http://local" params := exportertest.NewNopSettings() - te, err := factory.CreateTracesExporter(context.Background(), params, eCfg) + te, err := factory.CreateTraces(context.Background(), params, eCfg) assert.NoError(t, err) assert.NotNil(t, te, "failed to create trace exporter") - me, err := factory.CreateMetricsExporter(context.Background(), params, eCfg) + me, err := factory.CreateMetrics(context.Background(), params, eCfg) assert.Error(t, err) assert.Nil(t, me) } diff --git a/exporter/sapmexporter/generated_component_test.go b/exporter/sapmexporter/generated_component_test.go index 1621026d0f34..eb26430da963 100644 --- a/exporter/sapmexporter/generated_component_test.go +++ b/exporter/sapmexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/sapmexporter/generated_package_test.go b/exporter/sapmexporter/generated_package_test.go index 9aa53997349c..62ae0f36773d 100644 --- a/exporter/sapmexporter/generated_package_test.go +++ b/exporter/sapmexporter/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start")) + goleak.VerifyTestMain(m) } diff --git a/exporter/sapmexporter/go.mod b/exporter/sapmexporter/go.mod index 6ccee52da398..a8fc5f9e6b54 100644 --- a/exporter/sapmexporter/go.mod +++ b/exporter/sapmexporter/go.mod @@ -4,33 +4,34 @@ go 1.22.0 require ( github.com/cenkalti/backoff/v4 v4.3.0 - github.com/jaegertracing/jaeger v1.60.0 - github.com/klauspost/compress v1.17.9 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 - github.com/signalfx/sapm-proto v0.14.0 + github.com/jaegertracing/jaeger v1.62.0 + github.com/klauspost/compress v1.17.11 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0 + github.com/signalfx/sapm-proto v0.16.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/client v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/apache/thrift v0.20.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/uuid v1.6.0 // indirect @@ -42,39 +43,32 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/sapmexporter/go.sum b/exporter/sapmexporter/go.sum index caa68c70ab2f..8603db0bd154 100644 --- a/exporter/sapmexporter/go.sum +++ b/exporter/sapmexporter/go.sum @@ -1,24 +1,11 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -26,46 +13,25 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -76,8 +42,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -87,89 +51,76 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/signalfx/sapm-proto v0.14.0 h1:KWh3I5E4EkelB19aP1/54Ik8khSioC/RVRW/riOfRGg= -github.com/signalfx/sapm-proto v0.14.0/go.mod h1:Km6PskZh966cqNoUn3AmRyGRix5VfwnxVBvn2vjRC9U= +github.com/signalfx/sapm-proto v0.16.0 h1:E8W+awZBl3nmpDTdbPK8Uwla9FdSCWpZChR3p+7bzw0= +github.com/signalfx/sapm-proto v0.16.0/go.mod h1:7VTAIoYIgkAK+j6w3l4Aici+EYySGAmXCK0rfD2OZkU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.111.0 h1:D3LJTYrrK2ac94E2PXPSbVkArqxbklbCLsE4MAJQdRo= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -179,44 +130,27 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -224,36 +158,14 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/exporter/sapmexporter/metadata.yaml b/exporter/sapmexporter/metadata.yaml index 18c78b79d67f..4bab1554171d 100644 --- a/exporter/sapmexporter/metadata.yaml +++ b/exporter/sapmexporter/metadata.yaml @@ -11,8 +11,3 @@ status: tests: expect_consumer_error: true - goleak: - ignore: - top: - # See https://github.com/census-instrumentation/opencensus-go/issues/1191 for more information. - - "go.opencensus.io/stats/view.(*worker).start" \ No newline at end of file diff --git a/exporter/sentryexporter/factory_test.go b/exporter/sentryexporter/factory_test.go index f1652fd6c39b..9164cc17fcad 100644 --- a/exporter/sentryexporter/factory_test.go +++ b/exporter/sentryexporter/factory_test.go @@ -29,11 +29,11 @@ func TestCreateExporter(t *testing.T) { eCfg := cfg.(*Config) params := exportertest.NewNopSettings() - te, err := factory.CreateTracesExporter(context.Background(), params, eCfg) + te, err := factory.CreateTraces(context.Background(), params, eCfg) assert.NoError(t, err) assert.NotNil(t, te, "failed to create trace exporter") - me, err := factory.CreateMetricsExporter(context.Background(), params, eCfg) + me, err := factory.CreateMetrics(context.Background(), params, eCfg) assert.Error(t, err) assert.Nil(t, me) } diff --git a/exporter/sentryexporter/generated_component_test.go b/exporter/sentryexporter/generated_component_test.go index c92a9bc5940c..ff65ecfc1656 100644 --- a/exporter/sentryexporter/generated_component_test.go +++ b/exporter/sentryexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/sentryexporter/go.mod b/exporter/sentryexporter/go.mod index 24b16c4c16cc..ab90680dc3e4 100644 --- a/exporter/sentryexporter/go.mod +++ b/exporter/sentryexporter/go.mod @@ -3,30 +3,28 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sentry go 1.22.0 require ( - github.com/getsentry/sentry-go v0.28.1 + github.com/getsentry/sentry-go v0.29.1 github.com/google/go-cmp v0.6.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -34,38 +32,34 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/sentryexporter/go.sum b/exporter/sentryexporter/go.sum index 44169d8a9a59..da9146919c5e 100644 --- a/exporter/sentryexporter/go.sum +++ b/exporter/sentryexporter/go.sum @@ -1,14 +1,10 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/getsentry/sentry-go v0.28.1 h1:zzaSm/vHmGllRM6Tpx1492r0YDzauArdBfkJRtY6P5k= -github.com/getsentry/sentry-go v0.28.1/go.mod h1:1fQZ+7l7eeJ3wYi82q5Hg8GqAPgefRq+FP/QhafYVgg= +github.com/getsentry/sentry-go v0.29.1 h1:DyZuChN8Hz3ARxGVV8ePaNXh1dQ7d76AiB117xcREwA= +github.com/getsentry/sentry-go v0.29.1/go.mod h1:x3AtIzN01d6SiWkderzaH28Tm0lgkafpJ5Bm3li39O0= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -16,8 +12,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -29,8 +25,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -41,8 +35,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -52,78 +44,70 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -147,12 +131,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -163,10 +147,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/sentryexporter/sentry_exporter.go b/exporter/sentryexporter/sentry_exporter.go index 52c3e2c9344a..430997173089 100644 --- a/exporter/sentryexporter/sentry_exporter.go +++ b/exporter/sentryexporter/sentry_exporter.go @@ -19,7 +19,7 @@ import ( "go.opentelemetry.io/collector/exporter/exporterhelper" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.18.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" ) @@ -499,7 +499,7 @@ func createSentryExporter(config *Config, set exporter.Settings) (exporter.Trace environment: config.Environment, } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( context.TODO(), set, config, diff --git a/exporter/sentryexporter/sentry_exporter_test.go b/exporter/sentryexporter/sentry_exporter_test.go index 8b44d63bccf8..43b8a95f8668 100644 --- a/exporter/sentryexporter/sentry_exporter_test.go +++ b/exporter/sentryexporter/sentry_exporter_test.go @@ -16,7 +16,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.18.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" ) diff --git a/exporter/signalfxexporter/config.go b/exporter/signalfxexporter/config.go index 808af0cf9f23..9703b9313db8 100644 --- a/exporter/signalfxexporter/config.go +++ b/exporter/signalfxexporter/config.go @@ -50,9 +50,9 @@ var _ confmap.Unmarshaler = (*Config)(nil) // Config defines configuration for SignalFx exporter. type Config struct { - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. // AccessToken is the authentication token provided by SignalFx. AccessToken configopaque.String `mapstructure:"access_token"` @@ -131,7 +131,7 @@ type Config struct { // to be used in a dimension key. NonAlphanumericDimensionChars string `mapstructure:"nonalphanumeric_dimension_chars"` - // Whether to drop histogram bucket metrics dispatched to Splunk Observability. + // Whether to drop histogram bucket metrics dispatched to Splunk Observability. // Default value is set to false. DropHistogramBuckets bool `mapstructure:"drop_histogram_buckets"` diff --git a/exporter/signalfxexporter/config_test.go b/exporter/signalfxexporter/config_test.go index 7f9913dc44e4..0a60a9aff521 100644 --- a/exporter/signalfxexporter/config_test.go +++ b/exporter/signalfxexporter/config_test.go @@ -4,6 +4,7 @@ package signalfxexporter import ( + "net/http" "net/url" "path/filepath" "testing" @@ -38,6 +39,10 @@ func TestLoadConfig(t *testing.T) { seventy := 70 hundred := 100 idleConnTimeout := 30 * time.Second + defaultMaxIdleConns := http.DefaultTransport.(*http.Transport).MaxIdleConns + defaultMaxIdleConnsPerHost := http.DefaultTransport.(*http.Transport).MaxIdleConnsPerHost + defaultMaxConnsPerHost := http.DefaultTransport.(*http.Transport).MaxConnsPerHost + defaultIdleConnTimeout := http.DefaultTransport.(*http.Transport).IdleConnTimeout tests := []struct { id component.ID @@ -50,9 +55,10 @@ func TestLoadConfig(t *testing.T) { Realm: "ap0", ClientConfig: confighttp.ClientConfig{ Timeout: 10 * time.Second, - Headers: nil, + Headers: map[string]configopaque.String{}, MaxIdleConns: &hundred, MaxIdleConnsPerHost: &hundred, + MaxConnsPerHost: &defaultMaxConnsPerHost, IdleConnTimeout: &idleConnTimeout, HTTP2ReadIdleTimeout: 10 * time.Second, HTTP2PingTimeout: 10 * time.Second, @@ -65,7 +71,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{ AccessTokenPassthrough: true, }, @@ -86,8 +92,13 @@ func TestLoadConfig(t *testing.T) { ExcludeProperties: nil, Correlation: &correlation.Config{ ClientConfig: confighttp.ClientConfig{ - Endpoint: "", - Timeout: 5 * time.Second, + Endpoint: "", + Timeout: 5 * time.Second, + Headers: map[string]configopaque.String{}, + MaxIdleConns: &defaultMaxIdleConns, + MaxIdleConnsPerHost: &defaultMaxIdleConnsPerHost, + MaxConnsPerHost: &defaultMaxConnsPerHost, + IdleConnTimeout: &defaultIdleConnTimeout, }, StaleServiceTimeout: 5 * time.Minute, SyncAttributes: map[string]string{ @@ -120,6 +131,7 @@ func TestLoadConfig(t *testing.T) { }, MaxIdleConns: &seventy, MaxIdleConnsPerHost: &seventy, + MaxConnsPerHost: &defaultMaxConnsPerHost, IdleConnTimeout: &idleConnTimeout, HTTP2ReadIdleTimeout: 10 * time.Second, HTTP2PingTimeout: 10 * time.Second, @@ -132,7 +144,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, @@ -246,8 +258,13 @@ func TestLoadConfig(t *testing.T) { }, Correlation: &correlation.Config{ ClientConfig: confighttp.ClientConfig{ - Endpoint: "", - Timeout: 5 * time.Second, + Endpoint: "", + Timeout: 5 * time.Second, + Headers: map[string]configopaque.String{}, + MaxIdleConns: &defaultMaxIdleConns, + MaxIdleConnsPerHost: &defaultMaxIdleConnsPerHost, + MaxConnsPerHost: &defaultMaxConnsPerHost, + IdleConnTimeout: &defaultIdleConnTimeout, }, StaleServiceTimeout: 5 * time.Minute, SyncAttributes: map[string]string{ @@ -507,7 +524,7 @@ func TestConfigValidateErrors(t *testing.T) { cfg: &Config{ Realm: "us0", AccessToken: "access_token", - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, QueueSize: -1, }, diff --git a/exporter/signalfxexporter/exporter_test.go b/exporter/signalfxexporter/exporter_test.go index 88ec35ba2904..5da4d7109eb8 100644 --- a/exporter/signalfxexporter/exporter_test.go +++ b/exporter/signalfxexporter/exporter_test.go @@ -218,7 +218,7 @@ func TestConsumeMetrics(t *testing.T) { assert.Error(t, err) assert.True(t, consumererror.IsPermanent(err)) assert.True(t, strings.HasPrefix(err.Error(), tt.expectedErrorMsg)) - assert.Contains(t, err.Error(), "response content") + assert.ErrorContains(t, err, "response content") return } @@ -545,7 +545,7 @@ func TestConsumeMetricsWithAccessTokenPassthrough(t *testing.T) { cfg.AccessToken = configopaque.String(fromHeaders) cfg.AccessTokenPassthrough = tt.accessTokenPassthrough cfg.SendOTLPHistograms = tt.sendOTLPHistograms - sfxExp, err := NewFactory().CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + sfxExp, err := NewFactory().CreateMetrics(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, sfxExp.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -793,7 +793,7 @@ func TestConsumeLogsDataWithAccessTokenPassthrough(t *testing.T) { cfg.Headers["test_header_"] = configopaque.String(tt.name) cfg.AccessToken = configopaque.String(fromHeaders) cfg.AccessTokenPassthrough = tt.accessTokenPassthrough - sfxExp, err := NewFactory().CreateLogsExporter(context.Background(), exportertest.NewNopSettings(), cfg) + sfxExp, err := NewFactory().CreateLogs(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, sfxExp.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -1260,7 +1260,7 @@ func TestSignalFxExporterConsumeMetadata(t *testing.T) { rCfg := cfg.(*Config) rCfg.AccessToken = "token" rCfg.Realm = "realm" - exp, err := f.CreateMetricsExporter(context.Background(), exportertest.NewNopSettings(), rCfg) + exp, err := f.CreateMetrics(context.Background(), exportertest.NewNopSettings(), rCfg) require.NoError(t, err) kme, ok := exp.(metadata.MetadataExporter) @@ -1446,7 +1446,7 @@ func TestDefaultSystemCPUTimeExcludedAndTranslated(t *testing.T) { for _, dp := range dps { if dp.Metric == "cpu.num_processors" || dp.Metric == "cpu.idle" { intVal := dp.Value.IntValue - require.NotNil(t, intVal, fmt.Sprintf("unexpected nil IntValue for %q", dp.Metric)) + require.NotNilf(t, intVal, "unexpected nil IntValue for %q", dp.Metric) found[dp.Metric] = *intVal } else { // account for unexpected w/ test-failing placeholder @@ -1843,7 +1843,7 @@ func TestConsumeMixedMetrics(t *testing.T) { assert.Error(t, err) assert.True(t, consumererror.IsPermanent(err)) assert.True(t, strings.HasPrefix(err.Error(), tt.expectedErrorMsg)) - assert.Contains(t, err.Error(), "response content") + assert.ErrorContains(t, err, "response content") return } diff --git a/exporter/signalfxexporter/factory.go b/exporter/signalfxexporter/factory.go index 51aa322170c0..35c5428bb6af 100644 --- a/exporter/signalfxexporter/factory.go +++ b/exporter/signalfxexporter/factory.go @@ -50,18 +50,18 @@ func createDefaultConfig() component.Config { maxConnCount := defaultMaxConns idleConnTimeout := 30 * time.Second timeout := 10 * time.Second + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = defaultHTTPTimeout + clientConfig.MaxIdleConns = &maxConnCount + clientConfig.MaxIdleConnsPerHost = &maxConnCount + clientConfig.IdleConnTimeout = &idleConnTimeout + clientConfig.HTTP2ReadIdleTimeout = defaultHTTP2ReadIdleTimeout + clientConfig.HTTP2PingTimeout = defaultHTTP2PingTimeout return &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), - ClientConfig: confighttp.ClientConfig{ - Timeout: defaultHTTPTimeout, - MaxIdleConns: &maxConnCount, - MaxIdleConnsPerHost: &maxConnCount, - IdleConnTimeout: &idleConnTimeout, - HTTP2ReadIdleTimeout: defaultHTTP2ReadIdleTimeout, - HTTP2PingTimeout: defaultHTTP2PingTimeout, - }, + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + ClientConfig: clientConfig, AccessTokenPassthroughConfig: splunk.AccessTokenPassthroughConfig{ AccessTokenPassthrough: true, }, @@ -101,7 +101,7 @@ func createTracesExporter( set.Logger.Info("Correlation tracking enabled", zap.String("endpoint", corrCfg.ClientConfig.Endpoint)) tracker := correlation.NewTracker(corrCfg, cfg.AccessToken, set) - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, @@ -122,13 +122,13 @@ func createMetricsExporter( return nil, err } - me, err := exporterhelper.NewMetricsExporter( + me, err := exporterhelper.NewMetrics( ctx, set, cfg, exp.pushMetrics, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithStart(exp.start), @@ -165,13 +165,13 @@ func createLogsExporter( return nil, err } - le, err := exporterhelper.NewLogsExporter( + le, err := exporterhelper.NewLogs( ctx, set, cfg, exp.pushLogs, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(expCfg.BackOffConfig), exporterhelper.WithQueue(expCfg.QueueSettings), exporterhelper.WithStart(exp.startLogs)) diff --git a/exporter/signalfxexporter/factory_test.go b/exporter/signalfxexporter/factory_test.go index ccb567ab7acb..ebd3e8b4c82e 100644 --- a/exporter/signalfxexporter/factory_test.go +++ b/exporter/signalfxexporter/factory_test.go @@ -6,7 +6,6 @@ package signalfxexporter import ( "context" "encoding/json" - "fmt" "os" "path/filepath" "testing" @@ -33,7 +32,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cfg := createDefaultConfig() c := cfg.(*Config) c.AccessToken = "access_token" @@ -43,7 +42,7 @@ func TestCreateMetricsExporter(t *testing.T) { assert.NoError(t, err) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cfg := createDefaultConfig() c := cfg.(*Config) c.AccessToken = "access_token" @@ -53,7 +52,7 @@ func TestCreateTracesExporter(t *testing.T) { assert.NoError(t, err) } -func TestCreateTracesExporterNoAccessToken(t *testing.T) { +func TestCreateTracesNoAccessToken(t *testing.T) { cfg := createDefaultConfig() c := cfg.(*Config) c.Realm = "us0" @@ -70,7 +69,7 @@ func TestCreateInstanceViaFactory(t *testing.T) { c.AccessToken = "access_token" c.Realm = "us0" - exp, err := factory.CreateMetricsExporter( + exp, err := factory.CreateMetrics( context.Background(), exportertest.NewNopSettings(), cfg) @@ -81,14 +80,14 @@ func TestCreateInstanceViaFactory(t *testing.T) { expCfg := cfg.(*Config) expCfg.AccessToken = "testToken" expCfg.Realm = "us1" - exp, err = factory.CreateMetricsExporter( + exp, err = factory.CreateMetrics( context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) require.NotNil(t, exp) - logExp, err := factory.CreateLogsExporter( + logExp, err := factory.CreateLogs( context.Background(), exportertest.NewNopSettings(), cfg) @@ -98,7 +97,7 @@ func TestCreateInstanceViaFactory(t *testing.T) { assert.NoError(t, exp.Shutdown(context.Background())) } -func TestCreateMetricsExporter_CustomConfig(t *testing.T) { +func TestCreateMetrics_CustomConfig(t *testing.T) { config := &Config{ AccessToken: "testToken", Realm: "us1", @@ -520,7 +519,7 @@ func TestDefaultCPUTranslations(t *testing.T) { cpuStateMetrics := []string{"cpu.idle", "cpu.interrupt", "cpu.system", "cpu.user"} for _, metric := range cpuStateMetrics { dps, ok := m[metric] - require.True(t, ok, fmt.Sprintf("%s metrics not found", metric)) + require.Truef(t, ok, "%s metrics not found", metric) require.Len(t, dps, 9) } } @@ -601,7 +600,7 @@ func TestDefaultExcludes_not_translated(t *testing.T) { require.NoError(t, err) md := getMetrics(metrics) - require.Equal(t, 69, md.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().Len()) + require.Equal(t, 54, md.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().Len()) dps := converter.MetricsToSignalFxV2(md) require.Empty(t, dps) } diff --git a/exporter/signalfxexporter/generated_component_test.go b/exporter/signalfxexporter/generated_component_test.go index 7d821b8ef5da..8bb74ca14531 100644 --- a/exporter/signalfxexporter/generated_component_test.go +++ b/exporter/signalfxexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/signalfxexporter/go.mod b/exporter/signalfxexporter/go.mod index 4a2d9f2dcfb8..8040b2217177 100644 --- a/exporter/signalfxexporter/go.mod +++ b/exporter/signalfxexporter/go.mod @@ -6,51 +6,52 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 github.com/gobwas/glob v0.2.3 github.com/gogo/protobuf v1.3.2 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.108.0 - github.com/shirou/gopsutil/v4 v4.24.8 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.112.0 + github.com/shirou/gopsutil/v4 v4.24.9 github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/sys v0.24.0 + golang.org/x/sys v0.26.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -60,47 +61,40 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/text v0.17.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common diff --git a/exporter/signalfxexporter/go.sum b/exporter/signalfxexporter/go.sum index ccea5b03d267..9cc80447400f 100644 --- a/exporter/signalfxexporter/go.sum +++ b/exporter/signalfxexporter/go.sum @@ -1,5 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -7,6 +5,8 @@ github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/elastic/lunes v0.1.0 h1:amRtLPjwkWtzDF/RKzcEPMvSsSseLDLW+bnhfNSLRe4= github.com/elastic/lunes v0.1.0/go.mod h1:xGphYIt3XdZRtyWosHQTErsQTd4OP1p9wsbVoHelrd4= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -20,8 +20,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -45,14 +45,12 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -63,8 +61,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= @@ -78,30 +74,18 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 h1:32k2QLgsKhcEs55q4REPKyIadvid5FPy2+VMgvbmKJ0= github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3/go.mod h1:gJrXWi7wSGXfiC7+VheQaz+ypdCt5SmZNL+BRxUe7y4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -117,74 +101,74 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -200,8 +184,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -212,12 +196,12 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -228,16 +212,16 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/signalfxexporter/internal/apm/tracetracker/tracker.go b/exporter/signalfxexporter/internal/apm/tracetracker/tracker.go index 9637d111549f..03adce7b9240 100644 --- a/exporter/signalfxexporter/internal/apm/tracetracker/tracker.go +++ b/exporter/signalfxexporter/internal/apm/tracetracker/tracker.go @@ -11,7 +11,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.26.0" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter/internal/apm/correlations" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter/internal/apm/log" diff --git a/exporter/signalfxexporter/internal/apm/tracetracker/tracker_test.go b/exporter/signalfxexporter/internal/apm/tracetracker/tracker_test.go index 0498655bfaf8..6b69551abfa1 100644 --- a/exporter/signalfxexporter/internal/apm/tracetracker/tracker_test.go +++ b/exporter/signalfxexporter/internal/apm/tracetracker/tracker_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.26.0" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter/internal/apm/correlations" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter/internal/apm/log" diff --git a/exporter/signalfxexporter/internal/correlation/config.go b/exporter/signalfxexporter/internal/correlation/config.go index 72e20ffa6854..0c69af3749a0 100644 --- a/exporter/signalfxexporter/internal/correlation/config.go +++ b/exporter/signalfxexporter/internal/correlation/config.go @@ -9,15 +9,17 @@ import ( "time" "go.opentelemetry.io/collector/config/confighttp" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.26.0" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter/internal/apm/correlations" ) // DefaultConfig returns default configuration correlation values. func DefaultConfig() *Config { + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = 5 * time.Second return &Config{ - ClientConfig: confighttp.ClientConfig{Timeout: 5 * time.Second}, + ClientConfig: clientConfig, StaleServiceTimeout: 5 * time.Minute, SyncAttributes: map[string]string{ conventions.AttributeK8SPodUID: conventions.AttributeK8SPodUID, diff --git a/exporter/signalfxexporter/internal/correlation/correlation_test.go b/exporter/signalfxexporter/internal/correlation/correlation_test.go index dba4f06a0f34..da3e922d47fd 100644 --- a/exporter/signalfxexporter/internal/correlation/correlation_test.go +++ b/exporter/signalfxexporter/internal/correlation/correlation_test.go @@ -81,7 +81,7 @@ func TestTrackerStart(t *testing.T) { if tt.wantErr { require.Error(t, err) if tt.errMsg != "" { - require.Contains(t, err.Error(), tt.errMsg) + require.ErrorContains(t, err, tt.errMsg) } } else { require.NoError(t, err) diff --git a/exporter/signalfxexporter/internal/dimensions/requests.go b/exporter/signalfxexporter/internal/dimensions/requests.go index f328474404d5..f2f7277200fe 100644 --- a/exporter/signalfxexporter/internal/dimensions/requests.go +++ b/exporter/signalfxexporter/internal/dimensions/requests.go @@ -1,9 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - package dimensions // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter/internal/dimensions" import ( diff --git a/exporter/signalfxexporter/internal/hostmetadata/metadata_test.go b/exporter/signalfxexporter/internal/hostmetadata/metadata_test.go index 0b4cfcd24d19..081ba590d0ce 100644 --- a/exporter/signalfxexporter/internal/hostmetadata/metadata_test.go +++ b/exporter/signalfxexporter/internal/hostmetadata/metadata_test.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.26.0" "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest/observer" diff --git a/exporter/signalfxexporter/internal/translation/converter_test.go b/exporter/signalfxexporter/internal/translation/converter_test.go index 14a3a8b39707..2a01c0839c3f 100644 --- a/exporter/signalfxexporter/internal/translation/converter_test.go +++ b/exporter/signalfxexporter/internal/translation/converter_test.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.26.0" "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest/observer" diff --git a/exporter/signalfxexporter/internal/translation/default_metrics.go b/exporter/signalfxexporter/internal/translation/default_metrics.go index d0d5fc71156b..9b7534f8b479 100644 --- a/exporter/signalfxexporter/internal/translation/default_metrics.go +++ b/exporter/signalfxexporter/internal/translation/default_metrics.go @@ -85,21 +85,6 @@ exclude_metrics: # k8s metrics. - metric_names: - - k8s.cronjob.active_jobs - - k8s.job.active_pods - - k8s.job.desired_successful_pods - - k8s.job.failed_pods - - k8s.job.max_parallel_pods - - k8s.job.successful_pods - - k8s.statefulset.desired_pods - - k8s.statefulset.current_pods - - k8s.statefulset.ready_pods - - k8s.statefulset.updated_pods - - k8s.hpa.max_replicas - - k8s.hpa.min_replicas - - k8s.hpa.current_replicas - - k8s.hpa.desired_replicas - # matches all container limit metrics but k8s.container.cpu_limit and k8s.container.memory_limit - /^k8s\.container\..+_limit$/ - '!k8s.container.memory_limit' @@ -121,7 +106,7 @@ exclude_metrics: - /^(?i:(container)|(k8s\.node)|(k8s\.pod))\.memory\.page_faults$/ - /^(?i:(container)|(k8s\.node)|(k8s\.pod))\.memory\.rss$/ - /^(?i:(k8s\.node)|(k8s\.pod))\.memory\.usage$/ - - /^(?i:(container)|(k8s\.node)|(k8s\.pod))\.memory\.working_set$/ + - /^(?i:(k8s\.node)|(k8s\.pod))\.memory\.working_set$/ # matches (k8s.node|k8s.pod).filesystem... - /^k8s\.(?i:(node)|(pod))\.filesystem\.available$/ diff --git a/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2.go b/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2.go index 9c542c7dbb45..70a6c31344f7 100644 --- a/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2.go +++ b/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2.go @@ -84,6 +84,8 @@ func convertLogRecord(lr plog.LogRecord, resourceAttrs pcommon.Map, logger *zap. return true case splunk.SFxEventPropertiesKey: return true + case splunk.SFxAccessTokenLabel: + return true case splunk.SFxEventType: if v.Type() == pcommon.ValueTypeStr { event.EventType = v.Str() diff --git a/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2_test.go b/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2_test.go index 42daba690590..24652373341c 100644 --- a/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2_test.go +++ b/exporter/signalfxexporter/internal/translation/logdata_to_signalfxv2_test.go @@ -48,6 +48,7 @@ func TestLogDataToSignalFxEvents(t *testing.T) { resourceLog.Resource().Attributes().PutStr("k0", "should use ILL attr value instead") resourceLog.Resource().Attributes().PutStr("k3", "v3") resourceLog.Resource().Attributes().PutInt("k4", 123) + resourceLog.Resource().Attributes().PutStr("com.splunk.signalfx.access_token", "hunter2") ilLogs := resourceLog.ScopeLogs() logSlice := ilLogs.AppendEmpty().LogRecords() diff --git a/exporter/signalfxexporter/testdata/json/non_default_metrics_otel_convention.json b/exporter/signalfxexporter/testdata/json/non_default_metrics_otel_convention.json index e9ea9839db75..e3a7e8336497 100644 --- a/exporter/signalfxexporter/testdata/json/non_default_metrics_otel_convention.json +++ b/exporter/signalfxexporter/testdata/json/non_default_metrics_otel_convention.json @@ -59,48 +59,6 @@ { "system.network.tcp_connections": null }, - { - "k8s.cronjob.active_jobs": null - }, - { - "k8s.job.active_pods": null - }, - { - "k8s.job.desired_successful_pods": null - }, - { - "k8s.job.failed_pods": null - }, - { - "k8s.job.max_parallel_pods": null - }, - { - "k8s.job.successful_pods": null - }, - { - "k8s.statefulset.desired_pods": null - }, - { - "k8s.statefulset.current_pods": null - }, - { - "k8s.statefulset.ready_pods": null - }, - { - "k8s.statefulset.updated_pods": null - }, - { - "k8s.hpa.max_replicas": null - }, - { - "k8s.hpa.min_replicas": null - }, - { - "k8s.hpa.current_replicas": null - }, - { - "k8s.hpa.desired_replicas": null - }, { "k8s.container.ephemeral-storage_limit": null }, @@ -131,9 +89,6 @@ { "container.memory.rss": null }, - { - "container.memory.working_set": null - }, { "k8s.pod.memory.available": null }, diff --git a/exporter/splunkhecexporter/batchperscope.go b/exporter/splunkhecexporter/batchperscope.go index 0c0c51361a7a..388ad525f84a 100644 --- a/exporter/splunkhecexporter/batchperscope.go +++ b/exporter/splunkhecexporter/batchperscope.go @@ -20,8 +20,9 @@ type perScopeBatcher struct { next consumer.Logs } +// Capabilities returns capabilities of the next consumer because perScopeBatcher doesn't mutate data itself. func (rb *perScopeBatcher) Capabilities() consumer.Capabilities { - return consumer.Capabilities{MutatesData: false} + return rb.next.Capabilities() } func (rb *perScopeBatcher) ConsumeLogs(ctx context.Context, logs plog.Logs) error { diff --git a/exporter/splunkhecexporter/client_test.go b/exporter/splunkhecexporter/client_test.go index 595eb89bf9c7..285e5aa288d0 100644 --- a/exporter/splunkhecexporter/client_test.go +++ b/exporter/splunkhecexporter/client_test.go @@ -33,7 +33,7 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk" @@ -229,12 +229,12 @@ func runMetricsExport(cfg *Config, metrics pmetric.Metrics, expectedBatchesNum i defer s.Close() go func() { if e := s.Serve(listener); e != http.ErrServerClosed { - require.NoError(t, e) + assert.NoError(t, e) } }() params := exportertest.NewNopSettings() - exporter, err := factory.CreateMetricsExporter(context.Background(), params, cfg) + exporter, err := factory.CreateMetrics(context.Background(), params, cfg) assert.NoError(t, err) assert.NoError(t, exporter.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -282,12 +282,12 @@ func runTraceExport(testConfig *Config, traces ptrace.Traces, expectedBatchesNum defer s.Close() go func() { if e := s.Serve(listener); e != http.ErrServerClosed { - require.NoError(t, e) + assert.NoError(t, e) } }() params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.NoError(t, exporter.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -342,12 +342,12 @@ func runLogExport(cfg *Config, ld plog.Logs, expectedBatchesNum int, t *testing. defer s.Close() go func() { if e := s.Serve(listener); e != http.ErrServerClosed { - require.NoError(t, e) + assert.NoError(t, e) } }() params := exportertest.NewNopSettings() - exporter, err := NewFactory().CreateLogsExporter(context.Background(), params, cfg) + exporter, err := NewFactory().CreateLogs(context.Background(), params, cfg) assert.NoError(t, err) assert.NoError(t, exporter.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -1287,7 +1287,7 @@ func TestErrorReceived(t *testing.T) { defer s.Close() go func() { if e := s.Serve(listener); e != http.ErrServerClosed { - require.NoError(t, e) + assert.NoError(t, e) } }() @@ -1303,7 +1303,7 @@ func TestErrorReceived(t *testing.T) { cfg.Token = "1234-1234" params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.NoError(t, exporter.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -1351,7 +1351,7 @@ func TestInvalidURL(t *testing.T) { cfg.ClientConfig.Endpoint = "ftp://example.com:134" cfg.Token = "1234-1234" params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.NoError(t, exporter.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -1376,7 +1376,7 @@ func TestHeartbeatStartupFailed(t *testing.T) { defer s.Close() go func() { if e := s.Serve(listener); e != http.ErrServerClosed { - require.NoError(t, e) + assert.NoError(t, e) } }() factory := NewFactory() @@ -1392,7 +1392,7 @@ func TestHeartbeatStartupFailed(t *testing.T) { cfg.Heartbeat.Startup = true params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.EqualError(t, exporter.Start(context.Background(), componenttest.NewNopHost()), @@ -1415,7 +1415,7 @@ func TestHeartbeatStartupPass_Disabled(t *testing.T) { defer s.Close() go func() { if e := s.Serve(listener); e != http.ErrServerClosed { - require.NoError(t, e) + assert.NoError(t, e) } }() factory := NewFactory() @@ -1431,7 +1431,7 @@ func TestHeartbeatStartupPass_Disabled(t *testing.T) { cfg.Heartbeat.Startup = false params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.NoError(t, exporter.Start(context.Background(), componenttest.NewNopHost())) assert.NoError(t, exporter.Shutdown(context.Background())) @@ -1450,7 +1450,7 @@ func TestHeartbeatStartupPass(t *testing.T) { defer s.Close() go func() { if e := s.Serve(listener); e != http.ErrServerClosed { - require.NoError(t, e) + assert.NoError(t, e) } }() factory := NewFactory() @@ -1466,7 +1466,7 @@ func TestHeartbeatStartupPass(t *testing.T) { cfg.Heartbeat.Startup = true params := exportertest.NewNopSettings() - exporter, err := factory.CreateTracesExporter(context.Background(), params, cfg) + exporter, err := factory.CreateTraces(context.Background(), params, cfg) assert.NoError(t, err) assert.NoError(t, exporter.Start(context.Background(), componenttest.NewNopHost())) assert.NoError(t, exporter.Shutdown(context.Background())) @@ -1608,9 +1608,9 @@ func Test_pushLogData_ShouldAddResponseTo400Error(t *testing.T) { // Sending logs using the client. err := splunkClient.pushLogData(context.Background(), logs) require.True(t, consumererror.IsPermanent(err), "Expecting permanent error") - require.Contains(t, err.Error(), "HTTP/0.0 400") + require.ErrorContains(t, err, "HTTP/0.0 400") // The returned error should contain the response body responseBody. - assert.Contains(t, err.Error(), responseBody) + assert.ErrorContains(t, err, responseBody) // An HTTP client that returns some other status code other than 400 and response body responseBody. httpClient, _ = newTestClient(500, responseBody) @@ -1618,7 +1618,7 @@ func Test_pushLogData_ShouldAddResponseTo400Error(t *testing.T) { // Sending logs using the client. err = splunkClient.pushLogData(context.Background(), logs) require.False(t, consumererror.IsPermanent(err), "Expecting non-permanent error") - require.Contains(t, err.Error(), "HTTP 500") + require.ErrorContains(t, err, "HTTP 500") // The returned error should not contain the response body responseBody. assert.NotContains(t, err.Error(), responseBody) } @@ -1751,7 +1751,7 @@ func benchPushLogData(b *testing.B, numResources int, numRecords int, bufSize ui config.DisableCompression = !compressionEnabled c := newLogsClient(exportertest.NewNopSettings(), config) c.hecWorker = &mockHecWorker{} - exp, err := exporterhelper.NewLogsExporter(context.Background(), exportertest.NewNopSettings(), config, + exp, err := exporterhelper.NewLogs(context.Background(), exportertest.NewNopSettings(), config, c.pushLogData) require.NoError(b, err) exp = &baseLogsExporter{ @@ -1901,7 +1901,7 @@ func benchPushMetricData(b *testing.B, numResources int, numRecords int, bufSize config.UseMultiMetricFormat = useMultiMetricFormat c := newLogsClient(exportertest.NewNopSettings(), config) c.hecWorker = &mockHecWorker{} - exp, err := exporterhelper.NewMetricsExporter(context.Background(), exportertest.NewNopSettings(), config, + exp, err := exporterhelper.NewMetrics(context.Background(), exportertest.NewNopSettings(), config, c.pushMetricsData) require.NoError(b, err) @@ -1922,7 +1922,7 @@ func BenchmarkConsumeLogsRejected(b *testing.B) { c := newLogsClient(exportertest.NewNopSettings(), config) c.hecWorker = &mockHecWorker{failSend: true} - exp, err := exporterhelper.NewLogsExporter(context.Background(), exportertest.NewNopSettings(), config, + exp, err := exporterhelper.NewLogs(context.Background(), exportertest.NewNopSettings(), config, c.pushLogData) require.NoError(b, err) @@ -1953,7 +1953,7 @@ func Test_pushLogData_Small_MaxContentLength(t *testing.T) { require.Error(t, err) assert.True(t, consumererror.IsPermanent(err)) - assert.Contains(t, err.Error(), "dropped log event") + assert.ErrorContains(t, err, "dropped log event") } } diff --git a/exporter/splunkhecexporter/config.go b/exporter/splunkhecexporter/config.go index 168fb6aced26..c460ace9f604 100644 --- a/exporter/splunkhecexporter/config.go +++ b/exporter/splunkhecexporter/config.go @@ -65,9 +65,9 @@ type HecTelemetry struct { // Config defines configuration for Splunk exporter. type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + confighttp.ClientConfig `mapstructure:",squash"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // Experimental: This configuration is at the early stage of development and may change without backward compatibility // until https://github.com/open-telemetry/opentelemetry-collector/issues/8122 is resolved. diff --git a/exporter/splunkhecexporter/config_test.go b/exporter/splunkhecexporter/config_test.go index 5d369d6ac9cc..8af89fad6014 100644 --- a/exporter/splunkhecexporter/config_test.go +++ b/exporter/splunkhecexporter/config_test.go @@ -86,7 +86,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/exporter/splunkhecexporter/factory.go b/exporter/splunkhecexporter/factory.go index f320eefca188..7933db96b51c 100644 --- a/exporter/splunkhecexporter/factory.go +++ b/exporter/splunkhecexporter/factory.go @@ -14,7 +14,7 @@ import ( "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterbatcher" "go.opentelemetry.io/collector/exporter/exporterhelper" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter/internal/metadata" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk" @@ -77,7 +77,7 @@ func createDefaultConfig() component.Config { }, SplunkAppName: defaultSplunkAppName, BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), BatcherConfig: batcherCfg, DisableCompression: false, MaxContentLengthLogs: defaultContentLengthLogsLimit, @@ -114,13 +114,13 @@ func createTracesExporter( c := newTracesClient(set, cfg) - e, err := exporterhelper.NewTracesExporter( + e, err := exporterhelper.NewTraces( ctx, set, cfg, c.pushTraceData, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithStart(c.start), @@ -149,13 +149,13 @@ func createMetricsExporter( c := newMetricsClient(set, cfg) - e, err := exporterhelper.NewMetricsExporter( + e, err := exporterhelper.NewMetrics( ctx, set, cfg, c.pushMetricsData, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithStart(c.start), @@ -183,13 +183,13 @@ func createLogsExporter( c := newLogsClient(set, cfg) - logsExporter, err := exporterhelper.NewLogsExporter( + logsExporter, err := exporterhelper.NewLogs( ctx, set, cfg, c.pushLogData, // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithStart(c.start), diff --git a/exporter/splunkhecexporter/factory_test.go b/exporter/splunkhecexporter/factory_test.go index 3a7f7d7f9328..7a11ab2af119 100644 --- a/exporter/splunkhecexporter/factory_test.go +++ b/exporter/splunkhecexporter/factory_test.go @@ -11,6 +11,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/exporter/exporterbatcher" "go.opentelemetry.io/collector/exporter/exportertest" ) @@ -20,7 +21,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateMetricsExporter(t *testing.T) { +func TestCreateMetrics(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.ClientConfig.Endpoint = "https://example.com:8088/services/collector" cfg.Token = "1234-1234" @@ -30,7 +31,7 @@ func TestCreateMetricsExporter(t *testing.T) { assert.NoError(t, err) } -func TestCreateTracesExporter(t *testing.T) { +func TestCreateTraces(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.ClientConfig.Endpoint = "https://example.com:8088/services/collector" cfg.Token = "1234-1234" @@ -40,7 +41,7 @@ func TestCreateTracesExporter(t *testing.T) { assert.NoError(t, err) } -func TestCreateLogsExporter(t *testing.T) { +func TestCreateLogs(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.ClientConfig.Endpoint = "https://example.com:8088/services/collector" cfg.Token = "1234-1234" @@ -57,7 +58,7 @@ func TestCreateInstanceViaFactory(t *testing.T) { cfg.ClientConfig.Endpoint = "https://example.com:8088/services/collector" cfg.Token = "1234-1234" params := exportertest.NewNopSettings() - exp, err := factory.CreateMetricsExporter( + exp, err := factory.CreateMetrics( context.Background(), params, cfg) assert.NoError(t, err) @@ -66,7 +67,7 @@ func TestCreateInstanceViaFactory(t *testing.T) { // Set values that don't have a valid default. cfg.Token = "testToken" cfg.ClientConfig.Endpoint = "https://example.com" - exp, err = factory.CreateMetricsExporter( + exp, err = factory.CreateMetrics( context.Background(), params, cfg) assert.NoError(t, err) @@ -75,7 +76,7 @@ func TestCreateInstanceViaFactory(t *testing.T) { assert.NoError(t, exp.Shutdown(context.Background())) } -func TestFactory_CreateMetricsExporter(t *testing.T) { +func TestFactory_CreateMetrics(t *testing.T) { config := &Config{ Token: "testToken", ClientConfig: confighttp.ClientConfig{ @@ -88,3 +89,34 @@ func TestFactory_CreateMetricsExporter(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, te) } + +func TestFactory_EnabledBatchingMakesExporterMutable(t *testing.T) { + config := &Config{ + Token: "testToken", + ClientConfig: confighttp.ClientConfig{ + Endpoint: "https://example.com:8000", + }, + } + + me, err := createMetricsExporter(context.Background(), exportertest.NewNopSettings(), config) + require.NoError(t, err) + assert.False(t, me.Capabilities().MutatesData) + te, err := createTracesExporter(context.Background(), exportertest.NewNopSettings(), config) + require.NoError(t, err) + assert.False(t, te.Capabilities().MutatesData) + le, err := createLogsExporter(context.Background(), exportertest.NewNopSettings(), config) + require.NoError(t, err) + assert.False(t, le.Capabilities().MutatesData) + + config.BatcherConfig = exporterbatcher.NewDefaultConfig() + + me, err = createMetricsExporter(context.Background(), exportertest.NewNopSettings(), config) + require.NoError(t, err) + assert.True(t, me.Capabilities().MutatesData) + te, err = createTracesExporter(context.Background(), exportertest.NewNopSettings(), config) + require.NoError(t, err) + assert.True(t, te.Capabilities().MutatesData) + le, err = createLogsExporter(context.Background(), exportertest.NewNopSettings(), config) + require.NoError(t, err) + assert.True(t, le.Capabilities().MutatesData) +} diff --git a/exporter/splunkhecexporter/generated_component_test.go b/exporter/splunkhecexporter/generated_component_test.go index b5f7bd55ad2a..5bcf78ecff3f 100644 --- a/exporter/splunkhecexporter/generated_component_test.go +++ b/exporter/splunkhecexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,21 +64,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/splunkhecexporter/generated_package_test.go b/exporter/splunkhecexporter/generated_package_test.go index ec07f1aa7306..b28b53f2ab8a 100644 --- a/exporter/splunkhecexporter/generated_package_test.go +++ b/exporter/splunkhecexporter/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("go.opencensus.io/stats/view.(*worker).start")) + goleak.VerifyTestMain(m) } diff --git a/exporter/splunkhecexporter/go.mod b/exporter/splunkhecexporter/go.mod index c0ed7cff2c38..7506a9ec84e0 100644 --- a/exporter/splunkhecexporter/go.mod +++ b/exporter/splunkhecexporter/go.mod @@ -5,28 +5,30 @@ go 1.22.0 require ( github.com/cenkalti/backoff/v4 v4.3.0 github.com/goccy/go-json v0.10.3 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchperresourceattr v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 github.com/testcontainers/testcontainers-go v0.31.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 @@ -38,7 +40,6 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Microsoft/hcsshim v0.11.4 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/containerd/containerd v1.7.15 // indirect github.com/containerd/log v0.1.0 // indirect @@ -53,13 +54,12 @@ require ( github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -75,17 +75,13 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/morikuni/aec v1.0.0 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect @@ -93,34 +89,32 @@ require ( github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/mod v0.19.0 // indirect - golang.org/x/net v0.28.0 // indirect + golang.org/x/net v0.30.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/tools v0.23.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal => ../../internal/coreinternal diff --git a/exporter/splunkhecexporter/go.sum b/exporter/splunkhecexporter/go.sum index abd14fbd74e9..197c6d9c9b22 100644 --- a/exporter/splunkhecexporter/go.sum +++ b/exporter/splunkhecexporter/go.sum @@ -8,8 +8,6 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -44,8 +42,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -58,16 +56,14 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -78,8 +74,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -105,28 +99,20 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= @@ -152,80 +138,80 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -235,8 +221,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= @@ -245,8 +231,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -261,14 +247,14 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -282,14 +268,14 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo= -google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/splunkhecexporter/heartbeat_test.go b/exporter/splunkhecexporter/heartbeat_test.go index bc94b50e538d..67312c6d6071 100644 --- a/exporter/splunkhecexporter/heartbeat_test.go +++ b/exporter/splunkhecexporter/heartbeat_test.go @@ -138,7 +138,7 @@ func Test_Heartbeat_success(t *testing.T) { require.NoError(t, err) return len(got) != 0 }, time.Second, 10*time.Millisecond) - assert.Greater(t, got[0], int64(0), "there should be at least one success metric datapoint") + assert.Positive(t, got[0], "there should be at least one success metric datapoint") attrs, err := getAttributes(reader, sentMetricsName) require.NoError(t, err) assert.Equal(t, attribute.NewSet(attribute.String(metricLabelKey, metricLabelVal)), attrs[0]) @@ -161,7 +161,7 @@ func Test_Heartbeat_failure(t *testing.T) { require.NoError(t, err) return len(got) != 0 }, time.Second, 10*time.Millisecond) - assert.Greater(t, got[0], int64(0), "there should be at least one failure metric datapoint") + assert.Positive(t, got[0], "there should be at least one failure metric datapoint") attrs, err := getAttributes(reader, defaultHBFailedMetricsName) require.NoError(t, err) assert.Equal(t, attribute.NewSet(attribute.String(metricLabelKey, metricLabelVal)), attrs[0]) diff --git a/exporter/splunkhecexporter/integration_test.go b/exporter/splunkhecexporter/integration_test.go index 3c2a930dbee9..d04d429136d0 100644 --- a/exporter/splunkhecexporter/integration_test.go +++ b/exporter/splunkhecexporter/integration_test.go @@ -28,7 +28,7 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "go.uber.org/zap/zaptest" diff --git a/exporter/splunkhecexporter/logdata_to_splunk_test.go b/exporter/splunkhecexporter/logdata_to_splunk_test.go index ab42878d0d4e..08fe1bfe8ce6 100644 --- a/exporter/splunkhecexporter/logdata_to_splunk_test.go +++ b/exporter/splunkhecexporter/logdata_to_splunk_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/splunk" ) diff --git a/exporter/splunkhecexporter/metadata.yaml b/exporter/splunkhecexporter/metadata.yaml index 52c33e39b0f4..aba7dde1cf0a 100644 --- a/exporter/splunkhecexporter/metadata.yaml +++ b/exporter/splunkhecexporter/metadata.yaml @@ -16,8 +16,3 @@ tests: retry_on_failure: enabled: false expect_consumer_error: true - goleak: - ignore: - top: - # See https://github.com/census-instrumentation/opencensus-go/issues/1191 for more information. - - "go.opencensus.io/stats/view.(*worker).start" diff --git a/exporter/splunkhecexporter/metricdata_to_splunk_test.go b/exporter/splunkhecexporter/metricdata_to_splunk_test.go index a2ea1bb718d3..b15d5e840b0c 100644 --- a/exporter/splunkhecexporter/metricdata_to_splunk_test.go +++ b/exporter/splunkhecexporter/metricdata_to_splunk_test.go @@ -716,7 +716,7 @@ func TestMergeEvents(t *testing.T) { require.Len(t, merged, 1) b, err := json.Marshal(merged[0]) require.NoError(t, err) - require.Equal(t, `{"host":"","event":"metric","fields":{"IF-Azure":"azure-env","k8s.cluster.name":"devops-uat","k8s.namespace.name":"splunk-collector-tests","k8s.node.name":"myk8snodename","k8s.pod.name":"my-otel-collector-pod","metric_name:otel.collector.test":3411,"metric_name:otel.collector.test2":26059,"metric_type":"Gauge","metricsIndex":"test_metrics","metricsPlatform":"unset","resourceAttrs":"NO","testNumber":"number42","testRun":"42"}}`, string(b)) + require.JSONEq(t, `{"host":"","event":"metric","fields":{"IF-Azure":"azure-env","k8s.cluster.name":"devops-uat","k8s.namespace.name":"splunk-collector-tests","k8s.node.name":"myk8snodename","k8s.pod.name":"my-otel-collector-pod","metric_name:otel.collector.test":3411,"metric_name:otel.collector.test2":26059,"metric_type":"Gauge","metricsIndex":"test_metrics","metricsPlatform":"unset","resourceAttrs":"NO","testNumber":"number42","testRun":"42"}}`, string(b)) } func newMetricsWithResources() pcommon.Resource { diff --git a/exporter/sumologicexporter/config.go b/exporter/sumologicexporter/config.go index ae21a6a0715e..e4d88dd4b35d 100644 --- a/exporter/sumologicexporter/config.go +++ b/exporter/sumologicexporter/config.go @@ -21,9 +21,9 @@ import ( // Config defines configuration for Sumo Logic exporter. type Config struct { - confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // Compression encoding format, either empty string, gzip or deflate (default gzip) // Empty string means no compression @@ -63,13 +63,13 @@ type Config struct { // createDefaultClientConfig returns default http client settings func createDefaultClientConfig() confighttp.ClientConfig { - return confighttp.ClientConfig{ - Timeout: defaultTimeout, - Compression: DefaultCompressEncoding, - Auth: &configauth.Authentication{ - AuthenticatorID: component.NewID(sumologicextension.NewFactory().Type()), - }, + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = defaultTimeout + clientConfig.Compression = DefaultCompressEncoding + clientConfig.Auth = &configauth.Authentication{ + AuthenticatorID: component.NewID(sumologicextension.NewFactory().Type()), } + return clientConfig } func (cfg *Config) Validate() error { diff --git a/exporter/sumologicexporter/config_test.go b/exporter/sumologicexporter/config_test.go index eb67a7e32506..03e74efcbf2b 100644 --- a/exporter/sumologicexporter/config_test.go +++ b/exporter/sumologicexporter/config_test.go @@ -14,6 +14,15 @@ import ( ) func TestInitExporterInvalidConfiguration(t *testing.T) { + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = "test_endpoint" + clientConfig.Timeout = defaultTimeout + + clientConfigGzip := confighttp.NewDefaultClientConfig() + clientConfigGzip.Endpoint = "test_endpoint" + clientConfigGzip.Timeout = defaultTimeout + clientConfigGzip.Compression = "gzip" + testcases := []struct { name string cfg *Config @@ -25,10 +34,7 @@ func TestInitExporterInvalidConfiguration(t *testing.T) { cfg: &Config{ LogFormat: "test_format", MetricFormat: "otlp", - ClientConfig: confighttp.ClientConfig{ - Timeout: defaultTimeout, - Endpoint: "test_endpoint", - }, + ClientConfig: clientConfig, }, }, { @@ -37,11 +43,7 @@ func TestInitExporterInvalidConfiguration(t *testing.T) { cfg: &Config{ LogFormat: "json", MetricFormat: "test_format", - ClientConfig: confighttp.ClientConfig{ - Timeout: defaultTimeout, - Endpoint: "test_endpoint", - Compression: "gzip", - }, + ClientConfig: clientConfigGzip, }, }, { @@ -50,11 +52,7 @@ func TestInitExporterInvalidConfiguration(t *testing.T) { cfg: &Config{ LogFormat: "json", MetricFormat: "carbon2", - ClientConfig: confighttp.ClientConfig{ - Timeout: defaultTimeout, - Endpoint: "test_endpoint", - Compression: "gzip", - }, + ClientConfig: clientConfigGzip, }, }, { @@ -63,11 +61,7 @@ func TestInitExporterInvalidConfiguration(t *testing.T) { cfg: &Config{ LogFormat: "json", MetricFormat: "graphite", - ClientConfig: confighttp.ClientConfig{ - Timeout: defaultTimeout, - Endpoint: "test_endpoint", - Compression: "gzip", - }, + ClientConfig: clientConfigGzip, }, }, } @@ -87,6 +81,11 @@ func TestInitExporterInvalidConfiguration(t *testing.T) { } func TestConfigInvalidTimeout(t *testing.T) { + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = 56 * time.Second + + clientConfigZeroTimeout := confighttp.NewDefaultClientConfig() + clientConfigZeroTimeout.Timeout = 0 * time.Second testcases := []struct { name string expectedError error @@ -96,18 +95,14 @@ func TestConfigInvalidTimeout(t *testing.T) { name: "over the limit timeout", expectedError: errors.New("timeout must be between 1 and 55 seconds, got 56s"), cfg: &Config{ - ClientConfig: confighttp.ClientConfig{ - Timeout: 56 * time.Second, - }, + ClientConfig: clientConfig, }, }, { name: "less than 1 timeout", expectedError: errors.New("timeout must be between 1 and 55 seconds, got 0s"), cfg: &Config{ - ClientConfig: confighttp.ClientConfig{ - Timeout: 0 * time.Second, - }, + ClientConfig: clientConfigZeroTimeout, }, }, } diff --git a/exporter/sumologicexporter/exporter.go b/exporter/sumologicexporter/exporter.go index 6823655eb3be..9659b5f240f1 100644 --- a/exporter/sumologicexporter/exporter.go +++ b/exporter/sumologicexporter/exporter.go @@ -22,6 +22,7 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/collector/pipeline" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter/internal/metadata" @@ -96,14 +97,14 @@ func newLogsExporter( return nil, err } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, params, cfg, se.pushLogsData, // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithStart(se.start), @@ -121,14 +122,14 @@ func newMetricsExporter( return nil, err } - return exporterhelper.NewMetricsExporter( + return exporterhelper.NewMetrics( ctx, params, cfg, se.pushMetricsData, // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithStart(se.start), @@ -146,14 +147,14 @@ func newTracesExporter( return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, params, cfg, se.pushTracesData, // Disable exporterhelper Timeout, since we are using a custom mechanism // within exporter itself - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithRetry(cfg.BackOffConfig), exporterhelper.WithQueue(cfg.QueueSettings), exporterhelper.WithStart(se.start), @@ -218,15 +219,15 @@ func (se *sumologicexporter) configure(ctx context.Context) error { se.setDataURLs(logsURL.String(), metricsURL.String(), tracesURL.String()) case httpSettings.Endpoint != "": - logsURL, err := getSignalURL(se.config, httpSettings.Endpoint, component.DataTypeLogs) + logsURL, err := getSignalURL(se.config, httpSettings.Endpoint, pipeline.SignalLogs) if err != nil { return err } - metricsURL, err := getSignalURL(se.config, httpSettings.Endpoint, component.DataTypeMetrics) + metricsURL, err := getSignalURL(se.config, httpSettings.Endpoint, pipeline.SignalMetrics) if err != nil { return err } - tracesURL, err := getSignalURL(se.config, httpSettings.Endpoint, component.DataTypeTraces) + tracesURL, err := getSignalURL(se.config, httpSettings.Endpoint, pipeline.SignalTraces) if err != nil { return err } @@ -428,22 +429,22 @@ func (se *sumologicexporter) SetStickySessionCookie(stickySessionCookie string) // get the destination url for a given signal type // this mostly adds signal-specific suffixes if the format is otlp -func getSignalURL(oCfg *Config, endpointURL string, signal component.DataType) (string, error) { +func getSignalURL(oCfg *Config, endpointURL string, signal pipeline.Signal) (string, error) { url, err := url.Parse(endpointURL) if err != nil { return "", err } switch signal { - case component.DataTypeLogs: + case pipeline.SignalLogs: if oCfg.LogFormat != "otlp" { return url.String(), nil } - case component.DataTypeMetrics: + case pipeline.SignalMetrics: if oCfg.MetricFormat != "otlp" { return url.String(), nil } - case component.DataTypeTraces: + case pipeline.SignalTraces: default: return "", fmt.Errorf("unknown signal type: %s", signal) } diff --git a/exporter/sumologicexporter/exporter_test.go b/exporter/sumologicexporter/exporter_test.go index df93e5ce201c..74f67aa4f94c 100644 --- a/exporter/sumologicexporter/exporter_test.go +++ b/exporter/sumologicexporter/exporter_test.go @@ -14,7 +14,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/configcompression" "go.opentelemetry.io/collector/config/confighttp" @@ -25,6 +24,7 @@ import ( "go.opentelemetry.io/collector/pdata/plog" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" + "go.opentelemetry.io/collector/pipeline" ) func logRecordsToLogs(records []plog.LogRecord) plog.Logs { @@ -235,15 +235,15 @@ func TestPartiallyFailed(t *testing.T) { } func TestInvalidHTTPCLient(t *testing.T) { - exp, err := initExporter(&Config{ - ClientConfig: confighttp.ClientConfig{ - Endpoint: "test_endpoint", - TLSSetting: configtls.ClientConfig{ - Config: configtls.Config{ - MinVersion: "invalid", - }, - }, + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Endpoint = "test_endpoint" + clientConfig.TLSSetting = configtls.ClientConfig{ + Config: configtls.Config{ + MinVersion: "invalid", }, + } + exp, err := initExporter(&Config{ + ClientConfig: clientConfig, }, exportertest.NewNopSettings()) require.NoError(t, err) @@ -573,7 +573,7 @@ func TestSendEmptyTraces(t *testing.T) { func TestGetSignalURL(t *testing.T) { testCases := []struct { description string - signalType component.Type + signalType pipeline.Signal cfg Config endpointURL string expected string @@ -581,55 +581,55 @@ func TestGetSignalURL(t *testing.T) { }{ { description: "no change if log format not otlp", - signalType: component.DataTypeLogs, + signalType: pipeline.SignalLogs, cfg: Config{LogFormat: TextFormat}, endpointURL: "http://localhost", expected: "http://localhost", }, { description: "no change if metric format not otlp", - signalType: component.DataTypeMetrics, + signalType: pipeline.SignalMetrics, cfg: Config{MetricFormat: PrometheusFormat}, endpointURL: "http://localhost", expected: "http://localhost", }, { description: "always add suffix for traces if not present", - signalType: component.DataTypeTraces, + signalType: pipeline.SignalTraces, endpointURL: "http://localhost", expected: "http://localhost/v1/traces", }, { description: "always add suffix for logs if not present", - signalType: component.DataTypeLogs, + signalType: pipeline.SignalLogs, cfg: Config{LogFormat: OTLPLogFormat}, endpointURL: "http://localhost", expected: "http://localhost/v1/logs", }, { description: "always add suffix for metrics if not present", - signalType: component.DataTypeMetrics, + signalType: pipeline.SignalMetrics, cfg: Config{MetricFormat: OTLPMetricFormat}, endpointURL: "http://localhost", expected: "http://localhost/v1/metrics", }, { description: "no change if suffix already present", - signalType: component.DataTypeTraces, + signalType: pipeline.SignalTraces, endpointURL: "http://localhost/v1/traces", expected: "http://localhost/v1/traces", }, { description: "error if url invalid", - signalType: component.DataTypeTraces, + signalType: pipeline.SignalTraces, endpointURL: ":", errorMessage: `parse ":": missing protocol scheme`, }, { description: "error if signal type is unknown", - signalType: component.MustNewType("unknown"), + signalType: pipeline.Signal{}, endpointURL: "http://localhost", - errorMessage: `unknown signal type: unknown`, + errorMessage: `unknown signal type: `, }, } for _, tC := range testCases { diff --git a/exporter/sumologicexporter/factory.go b/exporter/sumologicexporter/factory.go index c27cd17d76f9..ae1002883374 100644 --- a/exporter/sumologicexporter/factory.go +++ b/exporter/sumologicexporter/factory.go @@ -29,7 +29,7 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { - qs := exporterhelper.NewDefaultQueueSettings() + qs := exporterhelper.NewDefaultQueueConfig() qs.Enabled = false return &Config{ diff --git a/exporter/sumologicexporter/factory_test.go b/exporter/sumologicexporter/factory_test.go index ff646f3561e3..7c04db07663e 100644 --- a/exporter/sumologicexporter/factory_test.go +++ b/exporter/sumologicexporter/factory_test.go @@ -26,22 +26,21 @@ func TestType(t *testing.T) { func TestCreateDefaultConfig(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() - qs := exporterhelper.NewDefaultQueueSettings() + qs := exporterhelper.NewDefaultQueueConfig() qs.Enabled = false - + clientConfig := confighttp.NewDefaultClientConfig() + clientConfig.Timeout = 30 * time.Second + clientConfig.Compression = "gzip" + clientConfig.Auth = &configauth.Authentication{ + AuthenticatorID: component.NewID(metadata.Type), + } assert.Equal(t, &Config{ MaxRequestBodySize: 1_048_576, LogFormat: "otlp", MetricFormat: "otlp", Client: "otelcol", - ClientConfig: confighttp.ClientConfig{ - Timeout: 30 * time.Second, - Compression: "gzip", - Auth: &configauth.Authentication{ - AuthenticatorID: component.NewID(metadata.Type), - }, - }, + ClientConfig: clientConfig, BackOffConfig: configretry.NewDefaultBackOffConfig(), QueueSettings: qs, }, cfg) diff --git a/exporter/sumologicexporter/generated_component_test.go b/exporter/sumologicexporter/generated_component_test.go index 9c92e38de313..168372548791 100644 --- a/exporter/sumologicexporter/generated_component_test.go +++ b/exporter/sumologicexporter/generated_component_test.go @@ -38,21 +38,21 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, { name: "metrics", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateMetricsExporter(ctx, set, cfg) + return factory.CreateMetrics(ctx, set, cfg) }, }, { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -64,9 +64,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/sumologicexporter/go.mod b/exporter/sumologicexporter/go.mod index f20e2c5254d3..f547666a0813 100644 --- a/exporter/sumologicexporter/go.mod +++ b/exporter/sumologicexporter/go.mod @@ -3,24 +3,26 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumolo go 1.22.0 require ( - github.com/klauspost/compress v1.17.9 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.108.0 + github.com/klauspost/compress v1.17.11 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configauth v0.112.0 + go.opentelemetry.io/collector/config/configcompression v1.18.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pipeline v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 @@ -28,16 +30,15 @@ require ( require ( github.com/Showmax/go-fqdn v1.0.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect @@ -52,43 +53,37 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - github.com/shirou/gopsutil/v4 v4.24.8 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/shirou/gopsutil/v4 v4.24.9 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/sumologicexporter/go.sum b/exporter/sumologicexporter/go.sum index f45d7ab9b07e..2ad368d82a29 100644 --- a/exporter/sumologicexporter/go.sum +++ b/exporter/sumologicexporter/go.sum @@ -1,14 +1,12 @@ github.com/Showmax/go-fqdn v1.0.0 h1:0rG5IbmVliNT5O19Mfuvna9LL7zlHyRfsSvBPZmF9tM= github.com/Showmax/go-fqdn v1.0.0/go.mod h1:SfrFBzmDCtCGrnHhoDjuvFnKsWjEQX/Q9ARZvOrJAko= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -20,8 +18,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -38,8 +36,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -50,8 +48,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -65,30 +61,18 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -101,72 +85,74 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -184,8 +170,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -196,12 +182,12 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -212,10 +198,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/sumologicexporter/internal/metadata/generated_telemetry.go b/exporter/sumologicexporter/internal/metadata/generated_telemetry.go index e5e666e67889..fc3d08c47605 100644 --- a/exporter/sumologicexporter/internal/metadata/generated_telemetry.go +++ b/exporter/sumologicexporter/internal/metadata/generated_telemetry.go @@ -36,15 +36,23 @@ type TelemetryBuilder struct { meters map[configtelemetry.Level]metric.Meter } -// telemetryBuilderOption applies changes to default builder. -type telemetryBuilderOption func(*TelemetryBuilder) +// TelemetryBuilderOption applies changes to default builder. +type TelemetryBuilderOption interface { + apply(*TelemetryBuilder) +} + +type telemetryBuilderOptionFunc func(mb *TelemetryBuilder) + +func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { + tbof(mb) +} // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component -func NewTelemetryBuilder(settings component.TelemetrySettings, options ...telemetryBuilderOption) (*TelemetryBuilder, error) { +func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { builder := TelemetryBuilder{meters: map[configtelemetry.Level]metric.Meter{}} for _, op := range options { - op(&builder) + op.apply(&builder) } builder.meters[configtelemetry.LevelBasic] = LeveledMeter(settings, configtelemetry.LevelBasic) var err, errs error diff --git a/exporter/sumologicexporter/internal/metadata/generated_telemetry_test.go b/exporter/sumologicexporter/internal/metadata/generated_telemetry_test.go index 118a26776252..2f6d7941e9d4 100644 --- a/exporter/sumologicexporter/internal/metadata/generated_telemetry_test.go +++ b/exporter/sumologicexporter/internal/metadata/generated_telemetry_test.go @@ -75,9 +75,9 @@ func TestNewTelemetryBuilder(t *testing.T) { TracerProvider: mockTracerProvider{}, } applied := false - _, err := NewTelemetryBuilder(set, func(b *TelemetryBuilder) { + _, err := NewTelemetryBuilder(set, telemetryBuilderOptionFunc(func(b *TelemetryBuilder) { applied = true - }) + })) require.NoError(t, err) require.True(t, applied) } diff --git a/exporter/sumologicexporter/sender_test.go b/exporter/sumologicexporter/sender_test.go index e55705c37794..3502b775169c 100644 --- a/exporter/sumologicexporter/sender_test.go +++ b/exporter/sumologicexporter/sender_test.go @@ -335,7 +335,7 @@ func TestSendLogsSplitFailedOne(t *testing.T) { `{"id":"1TIRY-KGIVX-TPQRJ","errors":[{"code":"internal.error","message":"Internal server error."}]}`, ) - require.NoError(t, err) + assert.NoError(t, err) body := extractBody(t, req) assert.Equal(t, "Example log", body) @@ -987,7 +987,7 @@ func TestSendCompressGzip(t *testing.T) { res.WriteHeader(200) if _, err := res.Write([]byte("")); err != nil { res.WriteHeader(http.StatusInternalServerError) - assert.FailNow(t, "err: %v", err) + assert.Fail(t, "err: %v", err) return } body := decodeGzip(t, req.Body) @@ -1008,7 +1008,7 @@ func TestSendCompressGzipDeprecated(t *testing.T) { res.WriteHeader(200) if _, err := res.Write([]byte("")); err != nil { res.WriteHeader(http.StatusInternalServerError) - assert.FailNow(t, "err: %v", err) + assert.Fail(t, "err: %v", err) return } body := decodeGzip(t, req.Body) @@ -1029,7 +1029,7 @@ func TestSendCompressZstd(t *testing.T) { res.WriteHeader(200) if _, err := res.Write([]byte("")); err != nil { res.WriteHeader(http.StatusInternalServerError) - assert.FailNow(t, "err: %v", err) + assert.Fail(t, "err: %v", err) return } body := decodeZstd(t, req.Body) @@ -1050,7 +1050,7 @@ func TestSendCompressDeflate(t *testing.T) { res.WriteHeader(200) if _, err := res.Write([]byte("")); err != nil { res.WriteHeader(http.StatusInternalServerError) - assert.FailNow(t, "err: %v", err) + assert.Fail(t, "err: %v", err) return } body := decodeZlib(t, req.Body) @@ -1126,9 +1126,9 @@ func TestSendOTLPHistogram(t *testing.T) { func(_ http.ResponseWriter, req *http.Request) { unmarshaler := pmetric.ProtoUnmarshaler{} body, err := io.ReadAll(req.Body) - require.NoError(t, err) + assert.NoError(t, err) metrics, err := unmarshaler.UnmarshalMetrics(body) - require.NoError(t, err) + assert.NoError(t, err) assert.Equal(t, 3, metrics.MetricCount()) assert.Equal(t, 16, metrics.DataPointCount()) }, diff --git a/exporter/syslogexporter/config.go b/exporter/syslogexporter/config.go index 237278ef2c79..a07526d3d565 100644 --- a/exporter/syslogexporter/config.go +++ b/exporter/syslogexporter/config.go @@ -40,9 +40,9 @@ type Config struct { // TLSSetting struct exposes TLS client configuration. TLSSetting configtls.ClientConfig `mapstructure:"tls"` - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` - exporterhelper.TimeoutSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + TimeoutSettings exporterhelper.TimeoutConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct } // Validate the configuration for errors. This is required by component.Config. diff --git a/exporter/syslogexporter/exporter.go b/exporter/syslogexporter/exporter.go index bbec85941f8c..99d69a9b01b3 100644 --- a/exporter/syslogexporter/exporter.go +++ b/exporter/syslogexporter/exporter.go @@ -62,7 +62,7 @@ func newLogsExporter( return nil, fmt.Errorf("failed to initialize the logs exporter: %w", err) } - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( ctx, params, cfg, diff --git a/exporter/syslogexporter/exporter_test.go b/exporter/syslogexporter/exporter_test.go index db643caf4bb4..146d877b1429 100644 --- a/exporter/syslogexporter/exporter_test.go +++ b/exporter/syslogexporter/exporter_test.go @@ -37,7 +37,7 @@ func exampleLog(t *testing.T) plog.LogRecord { buffer.Body().SetStr(originalForm) timestamp := "2003-08-24T05:14:15-07:00" timeStr, err := time.Parse(time.RFC3339, timestamp) - require.NoError(t, err, "failed to start test syslog server") + assert.NoError(t, err, "failed to start test syslog server") ts := pcommon.NewTimestampFromTime(timeStr) buffer.SetTimestamp(ts) attrMap := map[string]any{"proc_id": "8710", "message": "It's time to make the do-nuts.", @@ -148,7 +148,7 @@ func TestSyslogExportSuccess(t *testing.T) { buffer := exampleLog(t) logs := logRecordsToLogs(buffer) err := test.exp.pushLogsData(context.Background(), logs) - require.NoError(t, err, "could not send message") + assert.NoError(t, err, "could not send message") }() err := test.srv.SetDeadline(time.Now().Add(time.Second * 1)) require.NoError(t, err, "cannot set deadline") diff --git a/exporter/syslogexporter/factory.go b/exporter/syslogexporter/factory.go index 1901b0656109..a339aaa6e25b 100644 --- a/exporter/syslogexporter/factory.go +++ b/exporter/syslogexporter/factory.go @@ -25,7 +25,7 @@ func NewFactory() exporter.Factory { } func createDefaultConfig() component.Config { - qs := exporterhelper.NewDefaultQueueSettings() + qs := exporterhelper.NewDefaultQueueConfig() qs.Enabled = false return &Config{ @@ -34,7 +34,7 @@ func createDefaultConfig() component.Config { Protocol: DefaultProtocol, BackOffConfig: configretry.NewDefaultBackOffConfig(), QueueSettings: qs, - TimeoutSettings: exporterhelper.NewDefaultTimeoutSettings(), + TimeoutSettings: exporterhelper.NewDefaultTimeoutConfig(), } } diff --git a/exporter/syslogexporter/factory_test.go b/exporter/syslogexporter/factory_test.go index a4cebc3bcf7a..a511b1c2be97 100644 --- a/exporter/syslogexporter/factory_test.go +++ b/exporter/syslogexporter/factory_test.go @@ -28,7 +28,7 @@ func TestCreateDefaultConfig(t *testing.T) { Port: 514, Network: "tcp", Protocol: "rfc5424", - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: false, NumConsumers: 10, QueueSize: 1000, @@ -41,7 +41,7 @@ func TestCreateDefaultConfig(t *testing.T) { MaxInterval: 30 * time.Second, MaxElapsedTime: 5 * time.Minute, }, - TimeoutSettings: exporterhelper.TimeoutSettings{ + TimeoutSettings: exporterhelper.TimeoutConfig{ Timeout: 5 * time.Second, }, }, cfg) diff --git a/exporter/syslogexporter/generated_component_test.go b/exporter/syslogexporter/generated_component_test.go index 37078016850e..3d42410075af 100644 --- a/exporter/syslogexporter/generated_component_test.go +++ b/exporter/syslogexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, } @@ -50,9 +50,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/syslogexporter/go.mod b/exporter/syslogexporter/go.mod index f505dd751750..c9c72283ad50 100644 --- a/exporter/syslogexporter/go.mod +++ b/exporter/syslogexporter/go.mod @@ -4,47 +4,41 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect ) @@ -58,16 +52,16 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/text v0.17.0 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/syslogexporter/go.sum b/exporter/syslogexporter/go.sum index 559712e9b66c..5b3d5f574ae2 100644 --- a/exporter/syslogexporter/go.sum +++ b/exporter/syslogexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -14,8 +10,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -27,8 +23,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -39,8 +33,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -50,78 +42,70 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -145,8 +129,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= @@ -161,10 +145,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/syslogexporter/rfc5424_formatter_test.go b/exporter/syslogexporter/rfc5424_formatter_test.go index e74a052e2e13..edf4e157ffc8 100644 --- a/exporter/syslogexporter/rfc5424_formatter_test.go +++ b/exporter/syslogexporter/rfc5424_formatter_test.go @@ -6,7 +6,6 @@ package syslogexporter import ( "fmt" "regexp" - "strings" "testing" "time" @@ -80,11 +79,11 @@ func TestRFC5424Formatter(t *testing.T) { assert.NoError(t, err) matched, err := regexp.MatchString(expectedRegex, actual) assert.NoError(t, err) - assert.True(t, matched, fmt.Sprintf("unexpected form of formatted message, formatted message: %s, regexp: %s", actual, expectedRegex)) - assert.True(t, strings.Contains(actual, "Realm=\"SecureAuth0\"")) - assert.True(t, strings.Contains(actual, "UserHostAddress=\"192.168.2.132\"")) - assert.True(t, strings.Contains(actual, "UserID=\"Tester2\"")) - assert.True(t, strings.Contains(actual, "PEN=\"27389\"")) + assert.Truef(t, matched, "unexpected form of formatted message, formatted message: %s, regexp: %s", actual, expectedRegex) + assert.Contains(t, actual, "Realm=\"SecureAuth0\"") + assert.Contains(t, actual, "UserHostAddress=\"192.168.2.132\"") + assert.Contains(t, actual, "UserID=\"Tester2\"") + assert.Contains(t, actual, "PEN=\"27389\"") // Test defaults expected = "<165>1 2003-08-24T12:14:15.000003Z - - - - -\n" diff --git a/exporter/tencentcloudlogserviceexporter/generated_component_test.go b/exporter/tencentcloudlogserviceexporter/generated_component_test.go index 77aa8766de08..417e8a518289 100644 --- a/exporter/tencentcloudlogserviceexporter/generated_component_test.go +++ b/exporter/tencentcloudlogserviceexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "logs", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateLogsExporter(ctx, set, cfg) + return factory.CreateLogs(ctx, set, cfg) }, }, } @@ -50,9 +50,9 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) diff --git a/exporter/tencentcloudlogserviceexporter/go.mod b/exporter/tencentcloudlogserviceexporter/go.mod index f2b2cb8ba807..b069b545d732 100644 --- a/exporter/tencentcloudlogserviceexporter/go.mod +++ b/exporter/tencentcloudlogserviceexporter/go.mod @@ -3,33 +3,31 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencen go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/pierrec/lz4 v2.6.1+incompatible github.com/stretchr/testify v1.9.0 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.995 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1030 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/zap v1.27.0 - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/frankban/quicktest v1.14.6 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -37,36 +35,32 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect + google.golang.org/grpc v1.67.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/tencentcloudlogserviceexporter/go.sum b/exporter/tencentcloudlogserviceexporter/go.sum index c4e3db1e8084..bbbe4f1f3d41 100644 --- a/exporter/tencentcloudlogserviceexporter/go.sum +++ b/exporter/tencentcloudlogserviceexporter/go.sum @@ -1,9 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -15,8 +11,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -29,8 +25,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -41,8 +35,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -52,82 +44,74 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.995 h1:I1l5kl6rdQYDLEk8DqWjZgwMh0+nYnqbwq7KS4bqi/s= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.995/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1030 h1:kwiUoCkooUgy7iPyhEEbio7WT21kGJUeZ5JeJfb/dYk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1030/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -151,12 +135,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -167,10 +151,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/tencentcloudlogserviceexporter/logs_exporter.go b/exporter/tencentcloudlogserviceexporter/logs_exporter.go index 1f2ec52735cc..bd93c095e3bd 100644 --- a/exporter/tencentcloudlogserviceexporter/logs_exporter.go +++ b/exporter/tencentcloudlogserviceexporter/logs_exporter.go @@ -21,7 +21,7 @@ func newLogsExporter(set exporter.Settings, cfg component.Config) (exporter.Logs l.client = newLogServiceClient(cfg.(*Config), set.Logger) - return exporterhelper.NewLogsExporter( + return exporterhelper.NewLogs( context.TODO(), set, cfg, diff --git a/exporter/tencentcloudlogserviceexporter/logs_exporter_test.go b/exporter/tencentcloudlogserviceexporter/logs_exporter_test.go index f5302a1673db..a5dd952a2cbd 100644 --- a/exporter/tencentcloudlogserviceexporter/logs_exporter_test.go +++ b/exporter/tencentcloudlogserviceexporter/logs_exporter_test.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/collector/exporter/exportertest" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) func createSimpleLogData(numberOfLogs int) plog.Logs { diff --git a/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice.go b/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice.go index 766ed741486d..8603397dc646 100644 --- a/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice.go +++ b/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice.go @@ -10,7 +10,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "google.golang.org/protobuf/proto" cls "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter/proto" diff --git a/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice_test.go b/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice_test.go index 4410df27a069..5c754aaf651c 100644 --- a/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice_test.go +++ b/exporter/tencentcloudlogserviceexporter/logsdata_to_logservice_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) type logKeyValuePair struct { diff --git a/exporter/zipkinexporter/config.go b/exporter/zipkinexporter/config.go index 5f18554fa174..a4202794c38f 100644 --- a/exporter/zipkinexporter/config.go +++ b/exporter/zipkinexporter/config.go @@ -14,8 +14,8 @@ import ( // Config defines configuration settings for the Zipkin exporter. type Config struct { - exporterhelper.QueueSettings `mapstructure:"sending_queue"` - configretry.BackOffConfig `mapstructure:"retry_on_failure"` + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` // Configures the exporter client. // The Endpoint to send the Zipkin trace data to (e.g.: http://some.url:9411/api/v2/spans). diff --git a/exporter/zipkinexporter/config_test.go b/exporter/zipkinexporter/config_test.go index 0d27f9816bda..262f6e0c86d2 100644 --- a/exporter/zipkinexporter/config_test.go +++ b/exporter/zipkinexporter/config_test.go @@ -52,7 +52,7 @@ func TestLoadConfig(t *testing.T) { RandomizationFactor: backoff.DefaultRandomizationFactor, Multiplier: backoff.DefaultMultiplier, }, - QueueSettings: exporterhelper.QueueSettings{ + QueueSettings: exporterhelper.QueueConfig{ Enabled: true, NumConsumers: 2, QueueSize: 10, diff --git a/exporter/zipkinexporter/factory.go b/exporter/zipkinexporter/factory.go index 039a9127a59f..b853cbcb310e 100644 --- a/exporter/zipkinexporter/factory.go +++ b/exporter/zipkinexporter/factory.go @@ -38,7 +38,7 @@ func createDefaultConfig() component.Config { defaultClientHTTPSettings.WriteBufferSize = 512 * 1024 return &Config{ BackOffConfig: configretry.NewDefaultBackOffConfig(), - QueueSettings: exporterhelper.NewDefaultQueueSettings(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), ClientConfig: defaultClientHTTPSettings, Format: defaultFormat, DefaultServiceName: defaultServiceName, @@ -56,14 +56,14 @@ func createTracesExporter( if err != nil { return nil, err } - return exporterhelper.NewTracesExporter( + return exporterhelper.NewTraces( ctx, set, cfg, ze.pushTraces, exporterhelper.WithStart(ze.start), // explicitly disable since we rely on http.Client timeout logic. - exporterhelper.WithTimeout(exporterhelper.TimeoutSettings{Timeout: 0}), + exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}), exporterhelper.WithQueue(zc.QueueSettings), exporterhelper.WithRetry(zc.BackOffConfig)) } diff --git a/exporter/zipkinexporter/generated_component_test.go b/exporter/zipkinexporter/generated_component_test.go index 7d359526dc4e..1ec6b97b44b5 100644 --- a/exporter/zipkinexporter/generated_component_test.go +++ b/exporter/zipkinexporter/generated_component_test.go @@ -38,7 +38,7 @@ func TestComponentLifecycle(t *testing.T) { { name: "traces", createFn: func(ctx context.Context, set exporter.Settings, cfg component.Config) (component.Component, error) { - return factory.CreateTracesExporter(ctx, set, cfg) + return factory.CreateTraces(ctx, set, cfg) }, }, } @@ -50,21 +50,21 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) - for _, test := range tests { - t.Run(test.name+"-shutdown", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + for _, tt := range tests { + t.Run(tt.name+"-shutdown", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) err = c.Shutdown(context.Background()) require.NoError(t, err) }) - t.Run(test.name+"-lifecycle", func(t *testing.T) { - c, err := test.createFn(context.Background(), exportertest.NewNopSettings(), cfg) + t.Run(tt.name+"-lifecycle", func(t *testing.T) { + c, err := tt.createFn(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) host := componenttest.NewNopHost() err = c.Start(context.Background(), host) require.NoError(t, err) require.NotPanics(t, func() { - switch test.name { + switch tt.name { case "logs": e, ok := c.(exporter.Logs) require.True(t, ok) diff --git a/exporter/zipkinexporter/go.mod b/exporter/zipkinexporter/go.mod index 232aff5372e5..47cd31cdf674 100644 --- a/exporter/zipkinexporter/go.mod +++ b/exporter/zipkinexporter/go.mod @@ -4,40 +4,39 @@ go 1.22.0 require ( github.com/cenkalti/backoff/v4 v4.3.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.112.0 github.com/openzipkin/zipkin-go v0.4.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/exporter/exportertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/receiver v0.112.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/apache/thrift v0.20.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/jaegertracing/jaeger v1.60.0 // indirect + github.com/jaegertracing/jaeger v1.62.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -45,47 +44,43 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 // indirect + go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/exporter/zipkinexporter/go.sum b/exporter/zipkinexporter/go.sum index 13de7feb0c24..47bea2a81a50 100644 --- a/exporter/zipkinexporter/go.sum +++ b/exporter/zipkinexporter/go.sum @@ -1,11 +1,7 @@ -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -19,8 +15,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -32,14 +28,14 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -50,8 +46,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -61,21 +55,13 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= @@ -86,76 +72,79 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.111.0 h1:D3LJTYrrK2ac94E2PXPSbVkArqxbklbCLsE4MAJQdRo= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -171,20 +160,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -193,12 +182,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/exporter/zipkinexporter/zipkin_test.go b/exporter/zipkinexporter/zipkin_test.go index 35f1e9ffebaa..22ff5c370c01 100644 --- a/exporter/zipkinexporter/zipkin_test.go +++ b/exporter/zipkinexporter/zipkin_test.go @@ -53,7 +53,7 @@ func TestZipkinExporter_roundtripJSON(t *testing.T) { }, Format: "json", } - zexp, err := NewFactory().CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + zexp, err := NewFactory().CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) assert.NoError(t, err) require.NotNil(t, zexp) @@ -70,7 +70,7 @@ func TestZipkinExporter_roundtripJSON(t *testing.T) { Endpoint: addr, }, } - zi, err := zipkinreceiver.NewFactory().CreateTracesReceiver(context.Background(), receivertest.NewNopSettings(), recvCfg, zexp) + zi, err := zipkinreceiver.NewFactory().CreateTraces(context.Background(), receivertest.NewNopSettings(), recvCfg, zexp) assert.NoError(t, err) require.NotNil(t, zi) @@ -278,7 +278,7 @@ func TestZipkinExporter_invalidFormat(t *testing.T) { } f := NewFactory() set := exportertest.NewNopSettings() - _, err := f.CreateTracesExporter(context.Background(), set, config) + _, err := f.CreateTraces(context.Background(), set, config) require.Error(t, err) } @@ -300,7 +300,7 @@ func TestZipkinExporter_roundtripProto(t *testing.T) { }, Format: "proto", } - zexp, err := NewFactory().CreateTracesExporter(context.Background(), exportertest.NewNopSettings(), cfg) + zexp, err := NewFactory().CreateTraces(context.Background(), exportertest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, zexp.Start(context.Background(), componenttest.NewNopHost())) @@ -318,7 +318,7 @@ func TestZipkinExporter_roundtripProto(t *testing.T) { Endpoint: addr, }, } - zi, err := zipkinreceiver.NewFactory().CreateTracesReceiver(context.Background(), receivertest.NewNopSettings(), recvCfg, zexp) + zi, err := zipkinreceiver.NewFactory().CreateTraces(context.Background(), receivertest.NewNopSettings(), recvCfg, zexp) require.NoError(t, err) err = zi.Start(context.Background(), componenttest.NewNopHost()) diff --git a/extension/ackextension/README.md b/extension/ackextension/README.md index 5b21daae3812..f1070f24b038 100644 --- a/extension/ackextension/README.md +++ b/extension/ackextension/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| | Stability | [alpha] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fack%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fack) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fack%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fack) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@zpzhuSplunk](https://www.github.com/zpzhuSplunk), [@splunkericl](https://www.github.com/splunkericl) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s This extension allows acking of data upon successful processing. The upstream agent can choose to send event again diff --git a/extension/ackextension/go.mod b/extension/ackextension/go.mod index c419d4c055cb..e44dd56f2696 100644 --- a/extension/ackextension/go.mod +++ b/extension/ackextension/go.mod @@ -5,48 +5,32 @@ go 1.22.0 require ( github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/ackextension/go.sum b/extension/ackextension/go.sum index 276caf3aacc6..8aa2bbe1baae 100644 --- a/extension/ackextension/go.sum +++ b/extension/ackextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -9,8 +5,6 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -21,64 +15,36 @@ github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -94,20 +60,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -116,12 +82,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/ackextension/metadata.yaml b/extension/ackextension/metadata.yaml index 388bc1d13704..7bd6cbade047 100644 --- a/extension/ackextension/metadata.yaml +++ b/extension/ackextension/metadata.yaml @@ -4,7 +4,7 @@ status: class: extension stability: alpha: [extension] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [zpzhuSplunk, splunkericl] diff --git a/extension/asapauthextension/factory_test.go b/extension/asapauthextension/factory_test.go index 000141d39e88..f83e3320d275 100644 --- a/extension/asapauthextension/factory_test.go +++ b/extension/asapauthextension/factory_test.go @@ -29,7 +29,7 @@ func TestNewFactory(t *testing.T) { assert.NotNil(t, f) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { cfg := createDefaultConfig().(*Config) testKey := privateKey diff --git a/extension/asapauthextension/go.mod b/extension/asapauthextension/go.mod index c034286f852e..cac014cb25b9 100644 --- a/extension/asapauthextension/go.mod +++ b/extension/asapauthextension/go.mod @@ -6,52 +6,43 @@ require ( bitbucket.org/atlassian/go-asap/v2 v2.9.0 github.com/SermoDigital/jose v0.9.2-0.20180104203859-803625baeddc github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 go.uber.org/multierr v1.11.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pquerna/cachecontrol v0.1.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/vincent-petithory/dataurl v1.0.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/asapauthextension/go.sum b/extension/asapauthextension/go.sum index 29c8a97588dd..af5f721c3b32 100644 --- a/extension/asapauthextension/go.sum +++ b/extension/asapauthextension/go.sum @@ -3,10 +3,6 @@ bitbucket.org/atlassian/go-asap/v2 v2.9.0/go.mod h1:cuRgWb7eeGtsocKmqY2kPlMMlwpk github.com/SermoDigital/jose v0.9.2-0.20161205224733-f6df55f235c2/go.mod h1:ARgCUhI1MHQH+ONky/PAtmVHQrP5JlGY0F3poXOp/fA= github.com/SermoDigital/jose v0.9.2-0.20180104203859-803625baeddc h1:MhBvG7RLaLqlyjxMR6of35vt6MVQ+eXMcgn9X/sy0FE= github.com/SermoDigital/jose v0.9.2-0.20180104203859-803625baeddc/go.mod h1:ARgCUhI1MHQH+ONky/PAtmVHQrP5JlGY0F3poXOp/fA= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -15,8 +11,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -26,8 +22,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -38,26 +32,14 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc= github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -68,32 +50,30 @@ github.com/vincent-petithory/dataurl v1.0.0 h1:cXw+kPto8NLuJtlMsI152irrVw9fRDX8A github.com/vincent-petithory/dataurl v1.0.0/go.mod h1:FHafX5vmDzyP+1CQATJn7WFKc9CvnvxyvZy6I1MrG/U= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -109,23 +89,23 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -134,12 +114,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/awsproxy/factory.go b/extension/awsproxy/factory.go index d50e4a5bf2a6..3330f319f757 100644 --- a/extension/awsproxy/factory.go +++ b/extension/awsproxy/factory.go @@ -13,7 +13,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy/internal/metadata" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/proxy" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/localhostgate" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) const ( @@ -34,7 +34,7 @@ func createDefaultConfig() component.Config { return &Config{ ProxyConfig: proxy.Config{ TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: localhostgate.EndpointForPort(defaultPort), + Endpoint: testutil.EndpointForPort(defaultPort), }, TLSSetting: configtls.ClientConfig{ Insecure: false, diff --git a/extension/awsproxy/factory_test.go b/extension/awsproxy/factory_test.go index 2d922790cb68..ab26d5ace6aa 100644 --- a/extension/awsproxy/factory_test.go +++ b/extension/awsproxy/factory_test.go @@ -37,7 +37,7 @@ func TestFactory_CreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestFactory_CreateExtension(t *testing.T) { +func TestFactory_Create(t *testing.T) { backend := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { auth := r.Header.Get("Authorization") // Verify a signature was added, indicating the reverse proxy is doing its job. @@ -100,18 +100,10 @@ type nopHost struct { reportFunc func(event *componentstatus.Event) } -func (nh *nopHost) GetFactory(component.Kind, component.Type) component.Factory { - return nil -} - func (nh *nopHost) GetExtensions() map[component.ID]component.Component { return nil } -func (nh *nopHost) GetExporters() map[component.DataType]map[component.ID]component.Component { - return nil -} - func (nh *nopHost) Report(event *componentstatus.Event) { nh.reportFunc(event) } diff --git a/extension/awsproxy/generated_component_test.go b/extension/awsproxy/generated_component_test.go index ae1cf415847e..ed1ae4d09ff5 100644 --- a/extension/awsproxy/generated_component_test.go +++ b/extension/awsproxy/generated_component_test.go @@ -30,7 +30,7 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) diff --git a/extension/awsproxy/go.mod b/extension/awsproxy/go.mod index d4e2fda96878..2fb4a1d3e4c2 100644 --- a/extension/awsproxy/go.mod +++ b/extension/awsproxy/go.mod @@ -3,60 +3,52 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/awspr go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/proxy v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/proxy v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/zap v1.27.0 ) require ( github.com/aws/aws-sdk-go v1.55.5 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/awsproxy/go.sum b/extension/awsproxy/go.sum index fb398208c328..2bb12d184bf5 100644 --- a/extension/awsproxy/go.sum +++ b/extension/awsproxy/go.sum @@ -1,9 +1,5 @@ github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -14,8 +10,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -30,8 +26,6 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -42,24 +36,12 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -67,38 +49,38 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -114,20 +96,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -136,12 +118,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/basicauthextension/README.md b/extension/basicauthextension/README.md index 08d6e99bbd46..9bf33ad36342 100644 --- a/extension/basicauthextension/README.md +++ b/extension/basicauthextension/README.md @@ -3,13 +3,14 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fbasicauth%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fbasicauth) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fbasicauth%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fbasicauth) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling), [@frzifus](https://www.github.com/frzifus) | | Emeritus | [@svrakitin](https://www.github.com/svrakitin) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s This extension implements both `configauth.ServerAuthenticator` and `configauth.ClientAuthenticator` to authenticate clients and servers using Basic Authentication. The authenticator type has to be set to `basicauth`. diff --git a/extension/basicauthextension/generated_component_test.go b/extension/basicauthextension/generated_component_test.go index 630862855036..889974108da8 100644 --- a/extension/basicauthextension/generated_component_test.go +++ b/extension/basicauthextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/basicauthextension/go.mod b/extension/basicauthextension/go.mod index 9b45b9fae6e6..a903dba546e3 100644 --- a/extension/basicauthextension/go.mod +++ b/extension/basicauthextension/go.mod @@ -5,54 +5,45 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 github.com/tg123/go-htpasswd v1.2.2 - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/client v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 go.uber.org/goleak v1.3.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.25.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/crypto v0.26.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/basicauthextension/go.sum b/extension/basicauthextension/go.sum index 648aaddbe6f1..0e4ffc9f69ab 100644 --- a/extension/basicauthextension/go.sum +++ b/extension/basicauthextension/go.sum @@ -1,9 +1,5 @@ github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 h1:KeNholpO2xKjgaaSyd+DyQRrsQjhbSeS7qe4nEw8aQw= github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962/go.mod h1:kC29dT1vFpj7py2OvG1khBdQpo3kInWP+6QipLbdngo= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -23,8 +19,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -35,8 +29,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -45,18 +37,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -65,36 +47,34 @@ github.com/tg123/go-htpasswd v1.2.2 h1:tmNccDsQ+wYsoRfiONzIhDm5OkVHQzN3w4FOBAlN6 github.com/tg123/go-htpasswd v1.2.2/go.mod h1:FcIrK0J+6zptgVwK1JDlqyajW/1B4PtuJ/FLWl7nx8A= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -104,28 +84,28 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -134,12 +114,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 h1:BwIjyKYGsK9dMCBOorzRri8MQwmi7mT9rGHsCEinZkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/basicauthextension/metadata.yaml b/extension/basicauthextension/metadata.yaml index 00ddbbe60bb6..80247953b680 100644 --- a/extension/basicauthextension/metadata.yaml +++ b/extension/basicauthextension/metadata.yaml @@ -4,8 +4,7 @@ status: class: extension stability: beta: [extension] - distributions: - - contrib + distributions: [contrib, k8s] codeowners: active: [jpkrohling, frzifus] emeritus: [svrakitin] diff --git a/extension/bearertokenauthextension/README.md b/extension/bearertokenauthextension/README.md index 44683de5786a..4ab5dd1ee501 100644 --- a/extension/bearertokenauthextension/README.md +++ b/extension/bearertokenauthextension/README.md @@ -3,18 +3,19 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fbearertokenauth%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fbearertokenauth) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fbearertokenauth%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fbearertokenauth) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling), [@frzifus](https://www.github.com/frzifus) | | Emeritus | [@pavankrish123](https://www.github.com/pavankrish123) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s -This extension implements both `configauth.ServerAuthenticator` and `configauth.ClientAuthenticator`. It can be used in both http and gRPC exporters inside the `auth` settings, as a means to embed a static token for every RPC call that will be made. +This extension implements both `configauth.ServerAuthenticator` and `configauth.ClientAuthenticator`. It can be used in both http and gRPC exporters inside the `auth` settings, as a means to embed a static token for every RPC call that will be made. The authenticator type has to be set to `bearertokenauth`. diff --git a/extension/bearertokenauthextension/factory_test.go b/extension/bearertokenauthextension/factory_test.go index ab69cbdd1f81..88810f9da091 100644 --- a/extension/bearertokenauthextension/factory_test.go +++ b/extension/bearertokenauthextension/factory_test.go @@ -19,7 +19,7 @@ func TestFactory_CreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestFactory_CreateExtension(t *testing.T) { +func TestFactory_Create(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.BearerToken = "somerandometoken" ext, err := createExtension(context.Background(), extensiontest.NewNopSettings(), cfg) diff --git a/extension/bearertokenauthextension/generated_component_test.go b/extension/bearertokenauthextension/generated_component_test.go index 8db338481493..1bc6783688f0 100644 --- a/extension/bearertokenauthextension/generated_component_test.go +++ b/extension/bearertokenauthextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/bearertokenauthextension/go.mod b/extension/bearertokenauthextension/go.mod index e356e65cd746..5a28ffe09297 100644 --- a/extension/bearertokenauthextension/go.mod +++ b/extension/bearertokenauthextension/go.mod @@ -5,51 +5,42 @@ go 1.22.0 require ( github.com/fsnotify/fsnotify v1.7.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/bearertokenauthextension/go.sum b/extension/bearertokenauthextension/go.sum index cebb171a04ca..40774032a191 100644 --- a/extension/bearertokenauthextension/go.sum +++ b/extension/bearertokenauthextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -21,8 +17,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -33,56 +27,42 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -98,20 +78,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -120,12 +100,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/bearertokenauthextension/metadata.yaml b/extension/bearertokenauthextension/metadata.yaml index 0bf7d5e94c72..e14cf2f91d58 100644 --- a/extension/bearertokenauthextension/metadata.yaml +++ b/extension/bearertokenauthextension/metadata.yaml @@ -4,8 +4,7 @@ status: class: extension stability: beta: [extension] - distributions: - - contrib + distributions: [contrib, k8s] codeowners: active: [jpkrohling, frzifus] emeritus: [pavankrish123] diff --git a/extension/encoding/avrologencodingextension/extension_test.go b/extension/encoding/avrologencodingextension/extension_test.go index c8b44021dc47..b66f12fbd9b0 100644 --- a/extension/encoding/avrologencodingextension/extension_test.go +++ b/extension/encoding/avrologencodingextension/extension_test.go @@ -34,7 +34,7 @@ func TestUnmarshal(t *testing.T) { logRecord := logs.ResourceLogs().At(0).ScopeLogs().At(0).LogRecords().At(0) assert.NoError(t, err) - assert.Equal(t, "{\"count\":5,\"hostname\":\"host1\",\"level\":\"warn\",\"levelEnum\":\"INFO\",\"mapField\":{},\"message\":\"log message\",\"nestedRecord\":{\"field1\":12,\"field2\":\"val2\"},\"properties\":[\"prop1\",\"prop2\"],\"severity\":1,\"timestamp\":1697187201488000000}", logRecord.Body().AsString()) + assert.JSONEq(t, "{\"count\":5,\"hostname\":\"host1\",\"level\":\"warn\",\"levelEnum\":\"INFO\",\"mapField\":{},\"message\":\"log message\",\"nestedRecord\":{\"field1\":12,\"field2\":\"val2\"},\"properties\":[\"prop1\",\"prop2\"],\"severity\":1,\"timestamp\":1697187201488000000}", logRecord.Body().AsString()) } func TestInvalidUnmarshal(t *testing.T) { diff --git a/extension/encoding/avrologencodingextension/generated_component_test.go b/extension/encoding/avrologencodingextension/generated_component_test.go index 04db5a97d75d..70406133696a 100644 --- a/extension/encoding/avrologencodingextension/generated_component_test.go +++ b/extension/encoding/avrologencodingextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/encoding/avrologencodingextension/go.mod b/extension/encoding/avrologencodingextension/go.mod index e5227bc397a9..a86976d36c21 100644 --- a/extension/encoding/avrologencodingextension/go.mod +++ b/extension/encoding/avrologencodingextension/go.mod @@ -4,27 +4,24 @@ go 1.22.0 require ( github.com/linkedin/goavro/v2 v2.13.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.1 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -32,27 +29,21 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/encoding/avrologencodingextension/go.sum b/extension/encoding/avrologencodingextension/go.sum index aebf661ac4f3..5605aaa9a04d 100644 --- a/extension/encoding/avrologencodingextension/go.sum +++ b/extension/encoding/avrologencodingextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= @@ -26,8 +22,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -38,8 +32,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/linkedin/goavro/v2 v2.13.0 h1:L8eI8GcuciwUkt41Ej62joSZS4kKaYIUdze+6for9NU= github.com/linkedin/goavro/v2 v2.13.0/go.mod h1:KXx+erlq+RPlGSPmLF7xGo6SAbh8sCQ53x064+ioxhk= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -51,19 +43,9 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -75,28 +57,26 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -112,20 +92,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -134,12 +114,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/encoding/go.mod b/extension/encoding/go.mod index 5e4de4a5b465..c0a7b9ba5670 100644 --- a/extension/encoding/go.mod +++ b/extension/encoding/go.mod @@ -3,36 +3,28 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/encod go 1.22.0 require ( - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 ) require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/component v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) diff --git a/extension/encoding/go.sum b/extension/encoding/go.sum index edfdfaa0a96a..4962557d025e 100644 --- a/extension/encoding/go.sum +++ b/extension/encoding/go.sum @@ -6,8 +6,6 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -17,20 +15,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -39,30 +23,26 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -78,20 +58,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -100,14 +80,11 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/extension/encoding/jaegerencodingextension/extension_test.go b/extension/encoding/jaegerencodingextension/extension_test.go index 8e639a9bbe1a..76e389356a42 100644 --- a/extension/encoding/jaegerencodingextension/extension_test.go +++ b/extension/encoding/jaegerencodingextension/extension_test.go @@ -23,7 +23,7 @@ func TestExtension_Start(t *testing.T) { name: "jaegerProtobuf", getExtension: func() (extension.Extension, error) { factory := NewFactory() - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), factory.CreateDefaultConfig()) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), factory.CreateDefaultConfig()) }, }, { @@ -32,7 +32,7 @@ func TestExtension_Start(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() cfg.(*Config).Protocol = "xyz" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, expectedErr: "unsupported protocol: \"xyz\"", }, diff --git a/extension/encoding/jaegerencodingextension/generated_component_test.go b/extension/encoding/jaegerencodingextension/generated_component_test.go index 34666edf7117..23d823450082 100644 --- a/extension/encoding/jaegerencodingextension/generated_component_test.go +++ b/extension/encoding/jaegerencodingextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/encoding/jaegerencodingextension/go.mod b/extension/encoding/jaegerencodingextension/go.mod index 19799547942c..55a4fb4c8fd4 100644 --- a/extension/encoding/jaegerencodingextension/go.mod +++ b/extension/encoding/jaegerencodingextension/go.mod @@ -4,28 +4,25 @@ go 1.22.0 require ( github.com/gogo/protobuf v1.3.2 - github.com/jaegertracing/jaeger v1.60.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.108.0 + github.com/jaegertracing/jaeger v1.62.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/apache/thrift v0.20.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -33,29 +30,23 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/encoding/jaegerencodingextension/go.sum b/extension/encoding/jaegerencodingextension/go.sum index 3fea0f3589d3..fdee4cdcfd98 100644 --- a/extension/encoding/jaegerencodingextension/go.sum +++ b/extension/encoding/jaegerencodingextension/go.sum @@ -1,9 +1,5 @@ -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -22,14 +18,12 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -40,8 +34,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,19 +43,9 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -72,30 +54,28 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -111,20 +91,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -133,12 +113,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/encoding/jaegerencodingextension/jaeger_test.go b/extension/encoding/jaegerencodingextension/jaeger_test.go index 674b0c0ba82f..a1888a434c36 100644 --- a/extension/encoding/jaegerencodingextension/jaeger_test.go +++ b/extension/encoding/jaegerencodingextension/jaeger_test.go @@ -24,8 +24,7 @@ func TestUnmarshalJaeger(t *testing.T) { span.SetEndTimestamp(pcommon.Timestamp(20)) span.SetTraceID([16]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}) span.SetSpanID([8]byte{1, 2, 3, 4, 5, 6, 7, 8}) - batches, err := jaeger.ProtoFromTraces(td) - require.NoError(t, err) + batches := jaeger.ProtoFromTraces(td) protoBytes, err := batches[0].Spans[0].Marshal() require.NoError(t, err) diff --git a/extension/encoding/jsonlogencodingextension/generated_component_test.go b/extension/encoding/jsonlogencodingextension/generated_component_test.go index e4ec417a92e2..4f2d06da86b9 100644 --- a/extension/encoding/jsonlogencodingextension/generated_component_test.go +++ b/extension/encoding/jsonlogencodingextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/encoding/jsonlogencodingextension/go.mod b/extension/encoding/jsonlogencodingextension/go.mod index d02cc40b0a29..d66a8026212c 100644 --- a/extension/encoding/jsonlogencodingextension/go.mod +++ b/extension/encoding/jsonlogencodingextension/go.mod @@ -4,25 +4,22 @@ go 1.22.0 require ( github.com/json-iterator/go v1.1.12 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -30,27 +27,21 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/encoding/jsonlogencodingextension/go.sum b/extension/encoding/jsonlogencodingextension/go.sum index 1b00c5e643e5..028642741c90 100644 --- a/extension/encoding/jsonlogencodingextension/go.sum +++ b/extension/encoding/jsonlogencodingextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -24,8 +20,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -36,8 +30,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -47,19 +39,9 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -68,28 +50,26 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -105,20 +85,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -127,12 +107,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/encoding/jsonlogencodingextension/json_test.go b/extension/encoding/jsonlogencodingextension/json_test.go index 2fcfa3d13129..afb77d24f5b4 100644 --- a/extension/encoding/jsonlogencodingextension/json_test.go +++ b/extension/encoding/jsonlogencodingextension/json_test.go @@ -25,7 +25,7 @@ func TestMarshalUnmarshal(t *testing.T) { buf, err := e.MarshalLogs(ld) assert.NoError(t, err) assert.NotEmpty(t, buf) - assert.Equal(t, json, string(buf)) + assert.JSONEq(t, json, string(buf)) } func TestInvalidMarshal(t *testing.T) { @@ -59,7 +59,7 @@ func TestPrettyLogProcessor(t *testing.T) { lp, err := j.logProcessor(sampleLog()) assert.NoError(t, err) assert.NotNil(t, lp) - assert.Equal(t, `[{"body":{"log":"test"},"logAttributes":{"foo":"bar"},"resourceAttributes":{"test":"logs-test"}},{"body":"log testing","resourceAttributes":{"test":"logs-test"}}]`, string(lp)) + assert.JSONEq(t, `[{"body":{"log":"test"},"logAttributes":{"foo":"bar"},"resourceAttributes":{"test":"logs-test"}},{"body":"log testing","resourceAttributes":{"test":"logs-test"}}]`, string(lp)) } func sampleLog() plog.Logs { diff --git a/extension/encoding/otlpencodingextension/extension_test.go b/extension/encoding/otlpencodingextension/extension_test.go index 14edfaf9b007..0b357d440f88 100644 --- a/extension/encoding/otlpencodingextension/extension_test.go +++ b/extension/encoding/otlpencodingextension/extension_test.go @@ -29,7 +29,7 @@ func TestExtension_Start(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() cfg.(*Config).Protocol = "otlp_json" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, }, @@ -39,7 +39,7 @@ func TestExtension_Start(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() cfg.(*Config).Protocol = "otlp_proto" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, }, } diff --git a/extension/encoding/otlpencodingextension/generated_component_test.go b/extension/encoding/otlpencodingextension/generated_component_test.go index f7f0f1eac23f..a67570aaf07e 100644 --- a/extension/encoding/otlpencodingextension/generated_component_test.go +++ b/extension/encoding/otlpencodingextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/encoding/otlpencodingextension/go.mod b/extension/encoding/otlpencodingextension/go.mod index fd90916a76a0..64a340fcd0e6 100644 --- a/extension/encoding/otlpencodingextension/go.mod +++ b/extension/encoding/otlpencodingextension/go.mod @@ -3,26 +3,23 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/encod go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -30,27 +27,21 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/encoding/otlpencodingextension/go.sum b/extension/encoding/otlpencodingextension/go.sum index 1b00c5e643e5..028642741c90 100644 --- a/extension/encoding/otlpencodingextension/go.sum +++ b/extension/encoding/otlpencodingextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -24,8 +20,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -36,8 +30,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -47,19 +39,9 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -68,28 +50,26 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -105,20 +85,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -127,12 +107,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/encoding/textencodingextension/extension_test.go b/extension/encoding/textencodingextension/extension_test.go index 4a5bcbbec095..cbe144405300 100644 --- a/extension/encoding/textencodingextension/extension_test.go +++ b/extension/encoding/textencodingextension/extension_test.go @@ -23,7 +23,7 @@ func TestExtension_Start(t *testing.T) { name: "text", getExtension: func() (extension.Extension, error) { factory := NewFactory() - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), factory.CreateDefaultConfig()) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), factory.CreateDefaultConfig()) }, }, { @@ -32,7 +32,7 @@ func TestExtension_Start(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() cfg.(*Config).Encoding = "gbk" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, }, { @@ -41,7 +41,7 @@ func TestExtension_Start(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() cfg.(*Config).Encoding = "blabla" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, expectedErr: "unsupported encoding 'blabla'", }, diff --git a/extension/encoding/textencodingextension/generated_component_test.go b/extension/encoding/textencodingextension/generated_component_test.go index fbbe923ec3e5..27b9fade7d41 100644 --- a/extension/encoding/textencodingextension/generated_component_test.go +++ b/extension/encoding/textencodingextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/encoding/textencodingextension/go.mod b/extension/encoding/textencodingextension/go.mod index 26fcddcbe7ae..803cc133cd91 100644 --- a/extension/encoding/textencodingextension/go.mod +++ b/extension/encoding/textencodingextension/go.mod @@ -3,27 +3,24 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/encod go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -31,27 +28,21 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/encoding/textencodingextension/go.sum b/extension/encoding/textencodingextension/go.sum index 91adc606ceb6..704711472484 100644 --- a/extension/encoding/textencodingextension/go.sum +++ b/extension/encoding/textencodingextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -24,8 +20,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -36,8 +30,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -47,19 +39,9 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -68,28 +50,26 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -113,12 +93,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -129,10 +109,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/encoding/zipkinencodingextension/extension_test.go b/extension/encoding/zipkinencodingextension/extension_test.go index 670ae7bab273..8a8f45fc13eb 100644 --- a/extension/encoding/zipkinencodingextension/extension_test.go +++ b/extension/encoding/zipkinencodingextension/extension_test.go @@ -25,7 +25,7 @@ func TestExtension_Start(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() cfg.(*Config).Protocol = "zipkin_json" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, }, { @@ -34,7 +34,7 @@ func TestExtension_Start(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() cfg.(*Config).Protocol = "zipkin_proto" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, }, { @@ -44,7 +44,7 @@ func TestExtension_Start(t *testing.T) { cfg := factory.CreateDefaultConfig() cfg.(*Config).Protocol = "zipkin_thrift" cfg.(*Config).Version = "v1" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, }, { @@ -54,7 +54,7 @@ func TestExtension_Start(t *testing.T) { cfg := factory.CreateDefaultConfig() cfg.(*Config).Protocol = "zipkin_thrift" cfg.(*Config).Version = "v2" - return factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + return factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) }, expectedErr: "unsupported version: \"v2\"", }, diff --git a/extension/encoding/zipkinencodingextension/generated_component_test.go b/extension/encoding/zipkinencodingextension/generated_component_test.go index 0f6d691af44d..a9234cacd114 100644 --- a/extension/encoding/zipkinencodingextension/generated_component_test.go +++ b/extension/encoding/zipkinencodingextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/encoding/zipkinencodingextension/go.mod b/extension/encoding/zipkinencodingextension/go.mod index 8ec23b9b8cbf..cd75d29b1765 100644 --- a/extension/encoding/zipkinencodingextension/go.mod +++ b/extension/encoding/zipkinencodingextension/go.mod @@ -3,29 +3,26 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/encod go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/apache/thrift v0.20.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/jaegertracing/jaeger v1.60.0 // indirect + github.com/jaegertracing/jaeger v1.62.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -33,30 +30,24 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 // indirect github.com/openzipkin/zipkin-go v0.4.3 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/encoding/zipkinencodingextension/go.sum b/extension/encoding/zipkinencodingextension/go.sum index 7ac7b81e825e..a6449f775a7a 100644 --- a/extension/encoding/zipkinencodingextension/go.sum +++ b/extension/encoding/zipkinencodingextension/go.sum @@ -1,9 +1,5 @@ -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -22,14 +18,12 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -40,8 +34,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,21 +43,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -74,30 +56,28 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -113,20 +93,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -135,12 +115,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/googleclientauthextension/generated_component_test.go b/extension/googleclientauthextension/generated_component_test.go index 0710110cb169..9519b80101ee 100644 --- a/extension/googleclientauthextension/generated_component_test.go +++ b/extension/googleclientauthextension/generated_component_test.go @@ -30,7 +30,7 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) diff --git a/extension/googleclientauthextension/go.mod b/extension/googleclientauthextension/go.mod index db8696138b4b..daf05836e527 100644 --- a/extension/googleclientauthextension/go.mod +++ b/extension/googleclientauthextension/go.mod @@ -5,61 +5,52 @@ go 1.22.0 exclude github.com/knadh/koanf v1.5.0 require ( - github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.1 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 ) require ( cloud.google.com/go/compute/metadata v0.5.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.25.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/crypto v0.26.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect google.golang.org/api v0.169.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/googleclientauthextension/go.sum b/extension/googleclientauthextension/go.sum index bd0e7fa93c75..f9115caff2db 100644 --- a/extension/googleclientauthextension/go.sum +++ b/extension/googleclientauthextension/go.sum @@ -2,13 +2,9 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.1 h1:aDHQzMbI6DtBtuWiWsg2oJyzDtpNo5gmVIInub0hCRQ= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.1/go.mod h1:AiYjjg798z0U8X9g9J93AG7a027QUt7afw1+iYPjhss= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.3 h1:pbhNRz74inyVan+SLrVwAbUfX96K6f9PPI8ew5GsHk8= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.48.3/go.mod h1:fyVcDViWu5XWInTvIXalPmEytNY8vdcXPbT2CGtgDeY= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -25,8 +21,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -64,8 +60,6 @@ github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUh github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -76,25 +70,13 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -109,32 +91,30 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -144,8 +124,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -161,28 +141,28 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -204,15 +184,15 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -222,8 +202,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/headerssetterextension/README.md b/extension/headerssetterextension/README.md index 98fb3d5e93a9..3931051be4f3 100644 --- a/extension/headerssetterextension/README.md +++ b/extension/headerssetterextension/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| | Stability | [alpha] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fheaderssetter%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fheaderssetter) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fheaderssetter%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fheaderssetter) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s The `headers_setter` extension implements `ClientAuthenticator` and is used to @@ -34,11 +35,12 @@ The following settings are required: - `delete`: Deletes the header. - `value`: The header value is looked up from the `value` property of the extension configuration. + - `default_value`: (Optional) Value used if no entry for header key specified in `from_context` is present in request metadata. - `from_context`: The header value is looked up from the request metadata, such as HTTP headers, using the property value as the key (likely a header name). -The `value` and `from_context` properties are mutually exclusive. +The `value` and `from_context,default_value` properties are mutually exclusive. In order for `from_context` to work, other components in the pipeline also need to be configured appropriately: * If a [batch processor][batch-processor] is present in the pipeline, it must be configured to [preserve client metadata][batch-processor-preserve-metadata]. @@ -54,6 +56,7 @@ extensions: - action: insert key: X-Scope-OrgID from_context: tenant_id + default_value: Org-ID - action: upsert key: User-ID value: user_id diff --git a/extension/headerssetterextension/config.go b/extension/headerssetterextension/config.go index 73c688939c3b..55fe9cb07d1e 100644 --- a/extension/headerssetterextension/config.go +++ b/extension/headerssetterextension/config.go @@ -19,10 +19,11 @@ type Config struct { } type HeaderConfig struct { - Action ActionValue `mapstructure:"action"` - Key *string `mapstructure:"key"` - Value *string `mapstructure:"value"` - FromContext *string `mapstructure:"from_context"` + Action ActionValue `mapstructure:"action"` + Key *string `mapstructure:"key"` + Value *string `mapstructure:"value"` + FromContext *string `mapstructure:"from_context"` + DefaultValue *string `mapstructure:"default_value"` } // ActionValue is the enum to capture the four types of actions to perform on a header diff --git a/extension/headerssetterextension/config_test.go b/extension/headerssetterextension/config_test.go index 11ae3b04ab79..188d116898a5 100644 --- a/extension/headerssetterextension/config_test.go +++ b/extension/headerssetterextension/config_test.go @@ -36,6 +36,12 @@ func TestLoadConfig(t *testing.T) { Action: INSERT, FromContext: stringp("tenant_id"), Value: nil, + }, { + Key: stringp("X-Scope-OrgID"), + Action: INSERT, + FromContext: stringp("tenant_id"), + DefaultValue: stringp("some_id"), + Value: nil, }, { Key: stringp("User-ID"), @@ -148,6 +154,18 @@ func TestValidateConfig(t *testing.T) { }, errMissingSource, }, + { + "header value source is missing snd default value set", + []HeaderConfig{ + { + Key: stringp("name"), + Action: INSERT, + FromContext: stringp("from context"), + DefaultValue: stringp("default"), + }, + }, + nil, + }, { "delete header action", []HeaderConfig{ diff --git a/extension/headerssetterextension/extension.go b/extension/headerssetterextension/extension.go index ae2c0afbb752..c49588987f95 100644 --- a/extension/headerssetterextension/extension.go +++ b/extension/headerssetterextension/extension.go @@ -35,8 +35,13 @@ func newHeadersSetterExtension(cfg *Config, logger *zap.Logger) (auth.Client, er Value: *header.Value, } } else if header.FromContext != nil { + var defaultValue = "" + if header.DefaultValue != nil { + defaultValue = *header.DefaultValue + } s = &source.ContextSource{ - Key: *header.FromContext, + Key: *header.FromContext, + DefaultValue: defaultValue, } } diff --git a/extension/headerssetterextension/extension_test.go b/extension/headerssetterextension/extension_test.go index 409bfd70829e..e43619066b8a 100644 --- a/extension/headerssetterextension/extension_test.go +++ b/extension/headerssetterextension/extension_test.go @@ -218,6 +218,42 @@ var ( "header_name": "", }, }, + { + cfg: &Config{ + HeadersConfig: []HeaderConfig{ + { + Key: &header, + Action: INSERT, + FromContext: stringp("tenant"), + DefaultValue: stringp("default_tenant"), + }, + }, + }, + metadata: client.NewMetadata( + map[string][]string{}, + ), + expectedHeaders: map[string]string{ + "header_name": "default_tenant", + }, + }, + { + cfg: &Config{ + HeadersConfig: []HeaderConfig{ + { + Key: &header, + Action: INSERT, + FromContext: stringp("tenant"), + DefaultValue: stringp("default_tenant"), + }, + }, + }, + metadata: client.NewMetadata( + map[string][]string{"tenant": {"acme"}}, + ), + expectedHeaders: map[string]string{ + "header_name": "acme", + }, + }, } ) diff --git a/extension/headerssetterextension/factory_test.go b/extension/headerssetterextension/factory_test.go index 752cf91ae8bf..77dda9b17a93 100644 --- a/extension/headerssetterextension/factory_test.go +++ b/extension/headerssetterextension/factory_test.go @@ -21,7 +21,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { cfg := createDefaultConfig().(*Config) ext, err := createExtension(context.Background(), extensiontest.NewNopSettings(), cfg) diff --git a/extension/headerssetterextension/generated_component_test.go b/extension/headerssetterextension/generated_component_test.go index 176b1ef7d4da..bce0b7e1d3d4 100644 --- a/extension/headerssetterextension/generated_component_test.go +++ b/extension/headerssetterextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/headerssetterextension/go.mod b/extension/headerssetterextension/go.mod index 5acdeb11db89..46849f9e9783 100644 --- a/extension/headerssetterextension/go.mod +++ b/extension/headerssetterextension/go.mod @@ -4,51 +4,42 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/client v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/headerssetterextension/go.sum b/extension/headerssetterextension/go.sum index cf0dd3a4249a..c2ad688f7fc8 100644 --- a/extension/headerssetterextension/go.sum +++ b/extension/headerssetterextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -9,8 +5,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -21,8 +17,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -33,8 +27,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -43,52 +35,40 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -104,20 +84,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -126,12 +106,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 h1:BwIjyKYGsK9dMCBOorzRri8MQwmi7mT9rGHsCEinZkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/headerssetterextension/internal/source/context.go b/extension/headerssetterextension/internal/source/context.go index 7cd40b7dadb2..20b15fb2f7eb 100644 --- a/extension/headerssetterextension/internal/source/context.go +++ b/extension/headerssetterextension/internal/source/context.go @@ -13,7 +13,8 @@ import ( var _ Source = (*ContextSource)(nil) type ContextSource struct { - Key string + Key string + DefaultValue string } func (ts *ContextSource) Get(ctx context.Context) (string, error) { @@ -21,7 +22,7 @@ func (ts *ContextSource) Get(ctx context.Context) (string, error) { ss := cl.Metadata.Get(ts.Key) if len(ss) == 0 { - return "", nil + return ts.DefaultValue, nil } if len(ss) > 1 { diff --git a/extension/headerssetterextension/metadata.yaml b/extension/headerssetterextension/metadata.yaml index 53d4630d4afd..ba825b4e3e24 100644 --- a/extension/headerssetterextension/metadata.yaml +++ b/extension/headerssetterextension/metadata.yaml @@ -4,8 +4,7 @@ status: class: extension stability: alpha: [extension] - distributions: - - contrib + distributions: [contrib, k8s] codeowners: active: [jpkrohling] tests: diff --git a/extension/headerssetterextension/testdata/config.yaml b/extension/headerssetterextension/testdata/config.yaml index 05dfe5403773..4762f609d97f 100644 --- a/extension/headerssetterextension/testdata/config.yaml +++ b/extension/headerssetterextension/testdata/config.yaml @@ -4,6 +4,10 @@ headers_setter/1: - key: X-Scope-OrgID action: insert from_context: "tenant_id" + - key: X-Scope-OrgID + action: insert + from_context: "tenant_id" + default_value: "some_id" - key: User-ID action: update from_context: "user_id" diff --git a/extension/healthcheckextension/README.md b/extension/healthcheckextension/README.md index 299028a36620..de07eea02fe2 100644 --- a/extension/healthcheckextension/README.md +++ b/extension/healthcheckextension/README.md @@ -13,13 +13,14 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [core], [contrib] | +| Distributions | [core], [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fhealthcheck%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fhealthcheck) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fhealthcheck%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fhealthcheck) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@jpkrohling](https://www.github.com/jpkrohling) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s Health Check extension enables an HTTP url that can be probed to check the diff --git a/extension/healthcheckextension/factory.go b/extension/healthcheckextension/factory.go index aca68b892e60..9303fa9be2cd 100644 --- a/extension/healthcheckextension/factory.go +++ b/extension/healthcheckextension/factory.go @@ -11,7 +11,7 @@ import ( "go.opentelemetry.io/collector/extension" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension/internal/metadata" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/localhostgate" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) const defaultPort = 13133 @@ -29,7 +29,7 @@ func NewFactory() extension.Factory { func createDefaultConfig() component.Config { return &Config{ ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultPort), + Endpoint: testutil.EndpointForPort(defaultPort), }, CheckCollectorPipeline: defaultCheckCollectorPipelineSettings(), Path: "/", diff --git a/extension/healthcheckextension/factory_test.go b/extension/healthcheckextension/factory_test.go index 2397dda4d3d6..676015bfcb4e 100644 --- a/extension/healthcheckextension/factory_test.go +++ b/extension/healthcheckextension/factory_test.go @@ -32,7 +32,7 @@ func TestFactory_CreateDefaultConfig(t *testing.T) { require.NotNil(t, ext) } -func TestFactory_CreateExtension(t *testing.T) { +func TestFactory_Create(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.Endpoint = testutil.GetAvailableLocalAddress(t) diff --git a/extension/healthcheckextension/generated_component_test.go b/extension/healthcheckextension/generated_component_test.go index 41bd3c0e635f..15961ad8e2f3 100644 --- a/extension/healthcheckextension/generated_component_test.go +++ b/extension/healthcheckextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/healthcheckextension/go.mod b/extension/healthcheckextension/go.mod index 108494b136b0..331b006ecb3f 100644 --- a/extension/healthcheckextension/go.mod +++ b/extension/healthcheckextension/go.mod @@ -3,70 +3,62 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/healt go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/healthcheckextension/go.sum b/extension/healthcheckextension/go.sum index 94a0ee9bb47b..72a8218827a3 100644 --- a/extension/healthcheckextension/go.sum +++ b/extension/healthcheckextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -29,8 +25,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -41,8 +37,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,76 +45,66 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909182537-32cff9f7f331 h1:1sClRvBL08YZ2TVm7/sOoxCKcdZhKFqj4mSPXFVoaZY= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909182537-32cff9f7f331/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -136,20 +120,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -160,10 +144,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/healthcheckextension/integration_test.go b/extension/healthcheckextension/integration_test.go index af8756b50892..7ccc325b0632 100644 --- a/extension/healthcheckextension/integration_test.go +++ b/extension/healthcheckextension/integration_test.go @@ -24,7 +24,7 @@ func Test_SimpleHealthCheck(t *testing.T) { port := testutil.GetAvailablePort(t) cfg := f.CreateDefaultConfig().(*Config) cfg.Endpoint = fmt.Sprintf("localhost:%d", port) - e, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err) @@ -37,7 +37,7 @@ func Test_SimpleHealthCheck(t *testing.T) { var buf bytes.Buffer _, err = io.Copy(&buf, resp.Body) require.NoError(t, err) - assert.Equal(t, `{"status":"Server not available","upSince":"0001-01-01T00:00:00Z","uptime":""}`, buf.String()) + assert.JSONEq(t, `{"status":"Server not available","upSince":"0001-01-01T00:00:00Z","uptime":""}`, buf.String()) err = e.(*healthCheckExtension).Ready() require.NoError(t, err) resp, err = http.DefaultClient.Get(fmt.Sprintf("http://localhost:%d/", port)) diff --git a/extension/healthcheckextension/metadata.yaml b/extension/healthcheckextension/metadata.yaml index e9fa29a57c0c..9f0dd481d733 100644 --- a/extension/healthcheckextension/metadata.yaml +++ b/extension/healthcheckextension/metadata.yaml @@ -4,7 +4,7 @@ status: class: extension stability: beta: [extension] - distributions: [core, contrib] + distributions: [core, contrib, k8s] codeowners: active: [jpkrohling] diff --git a/extension/healthcheckv2extension/config_test.go b/extension/healthcheckv2extension/config_test.go index f9e141eb8e48..82904769dd93 100644 --- a/extension/healthcheckv2extension/config_test.go +++ b/extension/healthcheckv2extension/config_test.go @@ -21,7 +21,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/grpc" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/http" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/metadata" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/localhostgate" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) func TestLoadConfig(t *testing.T) { @@ -37,7 +37,7 @@ func TestLoadConfig(t *testing.T) { expected: &Config{ LegacyConfig: http.LegacyConfig{ ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Path: "/", }, @@ -81,13 +81,13 @@ func TestLoadConfig(t *testing.T) { LegacyConfig: http.LegacyConfig{ UseV2: true, ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Path: "/", }, HTTPConfig: &http.Config{ ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Status: http.PathConfig{ Enabled: true, @@ -101,7 +101,7 @@ func TestLoadConfig(t *testing.T) { GRPCConfig: &grpc.Config{ ServerConfig: configgrpc.ServerConfig{ NetAddr: confignet.AddrConfig{ - Endpoint: localhostgate.EndpointForPort(defaultGRPCPort), + Endpoint: testutil.EndpointForPort(defaultGRPCPort), Transport: "tcp", }, }, @@ -119,7 +119,7 @@ func TestLoadConfig(t *testing.T) { LegacyConfig: http.LegacyConfig{ UseV2: true, ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Path: "/", }, @@ -148,7 +148,7 @@ func TestLoadConfig(t *testing.T) { LegacyConfig: http.LegacyConfig{ UseV2: true, ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Path: "/", }, diff --git a/extension/healthcheckv2extension/extension.go b/extension/healthcheckv2extension/extension.go index afcaceb36cb9..23a307c9a9cf 100644 --- a/extension/healthcheckv2extension/extension.go +++ b/extension/healthcheckv2extension/extension.go @@ -16,7 +16,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/grpc" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/http" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) type eventSourcePair struct { diff --git a/extension/healthcheckv2extension/extension_test.go b/extension/healthcheckv2extension/extension_test.go index bb15441a1aae..57ba700e7e31 100644 --- a/extension/healthcheckv2extension/extension_test.go +++ b/extension/healthcheckv2extension/extension_test.go @@ -20,9 +20,9 @@ import ( "go.opentelemetry.io/collector/confmap/confmaptest" "go.opentelemetry.io/collector/extension/extensiontest" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/testhelpers" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status/testhelpers" ) func TestComponentStatus(t *testing.T) { @@ -131,5 +131,5 @@ func TestNotifyConfig(t *testing.T) { body, err := io.ReadAll(resp.Body) require.NoError(t, err) - assert.Equal(t, confJSON, body) + assert.JSONEq(t, string(confJSON), string(body)) } diff --git a/extension/healthcheckv2extension/factory.go b/extension/healthcheckv2extension/factory.go index effd181eec48..e074afac5320 100644 --- a/extension/healthcheckv2extension/factory.go +++ b/extension/healthcheckv2extension/factory.go @@ -17,7 +17,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/grpc" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/http" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/metadata" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/localhostgate" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) const ( @@ -39,13 +39,13 @@ func createDefaultConfig() component.Config { return &Config{ LegacyConfig: http.LegacyConfig{ ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Path: "/", }, HTTPConfig: &http.Config{ ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Status: http.PathConfig{ Enabled: true, @@ -59,7 +59,7 @@ func createDefaultConfig() component.Config { GRPCConfig: &grpc.Config{ ServerConfig: configgrpc.ServerConfig{ NetAddr: confignet.AddrConfig{ - Endpoint: localhostgate.EndpointForPort(defaultGRPCPort), + Endpoint: testutil.EndpointForPort(defaultGRPCPort), Transport: "tcp", }, }, diff --git a/extension/healthcheckv2extension/factory_test.go b/extension/healthcheckv2extension/factory_test.go index 33ae2e3b0384..eaf97966b373 100644 --- a/extension/healthcheckv2extension/factory_test.go +++ b/extension/healthcheckv2extension/factory_test.go @@ -17,7 +17,6 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/grpc" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/http" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/localhostgate" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) @@ -26,13 +25,13 @@ func TestCreateDefaultConfig(t *testing.T) { assert.Equal(t, &Config{ LegacyConfig: http.LegacyConfig{ ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Path: "/", }, HTTPConfig: &http.Config{ ServerConfig: confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(defaultHTTPPort), + Endpoint: testutil.EndpointForPort(defaultHTTPPort), }, Status: http.PathConfig{ Enabled: true, @@ -46,7 +45,7 @@ func TestCreateDefaultConfig(t *testing.T) { GRPCConfig: &grpc.Config{ ServerConfig: configgrpc.ServerConfig{ NetAddr: confignet.AddrConfig{ - Endpoint: localhostgate.EndpointForPort(defaultGRPCPort), + Endpoint: testutil.EndpointForPort(defaultGRPCPort), Transport: "tcp", }, }, @@ -61,7 +60,7 @@ func TestCreateDefaultConfig(t *testing.T) { require.NotNil(t, ext) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.Endpoint = testutil.GetAvailableLocalAddress(t) ctx, cancel := context.WithCancel(context.Background()) diff --git a/extension/healthcheckv2extension/generated_component_test.go b/extension/healthcheckv2extension/generated_component_test.go index 83acd894ba48..59348ec77571 100644 --- a/extension/healthcheckv2extension/generated_component_test.go +++ b/extension/healthcheckv2extension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/healthcheckv2extension/go.mod b/extension/healthcheckv2extension/go.mod index 160206f5d59a..67f7f2d36ef1 100644 --- a/extension/healthcheckv2extension/go.mod +++ b/extension/healthcheckv2extension/go.mod @@ -3,74 +3,70 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/healt go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909212104-b18f7cd99909 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/configgrpc v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/common => ../../internal/common + +replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status => ../../pkg/status diff --git a/extension/healthcheckv2extension/go.sum b/extension/healthcheckv2extension/go.sum index ce700e397977..b10a89657a07 100644 --- a/extension/healthcheckv2extension/go.sum +++ b/extension/healthcheckv2extension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -29,8 +25,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -41,8 +37,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -53,86 +47,76 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909212104-b18f7cd99909 h1:/QdMTfWnxd/VBixr6Hcy2xP69rQGS736Y7WwyttvvHY= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.0.0-20240909212104-b18f7cd99909/go.mod h1:fzUbvPib293GLn4hzlVNLWEHwvsdI9Wq4dsFDZPEAp8= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.1 h1:/XbunfZ+/jt1+d1p4zM4vZ/AgeaIJsayjYdlN1fV+tk= -go.opentelemetry.io/collector/pdata/pprofile v0.108.1/go.mod h1:/GvG2WcN9Dajlw4QaIOjgz7N32wSfPL3qxJ0BKOcVPo= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -148,20 +132,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -170,12 +154,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/healthcheckv2extension/internal/grpc/grpc.go b/extension/healthcheckv2extension/internal/grpc/grpc.go index b457c18e7d4a..2f8ad037c490 100644 --- a/extension/healthcheckv2extension/internal/grpc/grpc.go +++ b/extension/healthcheckv2extension/internal/grpc/grpc.go @@ -12,7 +12,7 @@ import ( healthpb "google.golang.org/grpc/health/grpc_health_v1" grpcstatus "google.golang.org/grpc/status" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) var ( diff --git a/extension/healthcheckv2extension/internal/grpc/grpc_test.go b/extension/healthcheckv2extension/internal/grpc/grpc_test.go index f6f689b01c0a..837a58ebdf63 100644 --- a/extension/healthcheckv2extension/internal/grpc/grpc_test.go +++ b/extension/healthcheckv2extension/internal/grpc/grpc_test.go @@ -22,9 +22,10 @@ import ( grpcstatus "google.golang.org/grpc/status" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/common" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/testhelpers" + internalhelpers "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/testhelpers" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status/testhelpers" ) func TestCheck(t *testing.T) { @@ -695,7 +696,7 @@ func TestCheck(t *testing.T) { config, tc.componentHealthSettings, componenttest.NewNopTelemetrySettings(), - status.NewAggregator(testhelpers.ErrPriority(tc.componentHealthSettings)), + status.NewAggregator(internalhelpers.ErrPriority(tc.componentHealthSettings)), ) require.NoError(t, server.Start(context.Background(), componenttest.NewNopHost())) t.Cleanup(func() { require.NoError(t, server.Shutdown(context.Background())) }) @@ -1532,7 +1533,7 @@ func TestWatch(t *testing.T) { config, tc.componentHealthSettings, componenttest.NewNopTelemetrySettings(), - status.NewAggregator(testhelpers.ErrPriority(tc.componentHealthSettings)), + status.NewAggregator(internalhelpers.ErrPriority(tc.componentHealthSettings)), ) require.NoError(t, server.Start(context.Background(), componenttest.NewNopHost())) t.Cleanup(func() { require.NoError(t, server.Shutdown(context.Background())) }) diff --git a/extension/healthcheckv2extension/internal/grpc/server.go b/extension/healthcheckv2extension/internal/grpc/server.go index e9a9e3ff92ee..2c69e5fb9e61 100644 --- a/extension/healthcheckv2extension/internal/grpc/server.go +++ b/extension/healthcheckv2extension/internal/grpc/server.go @@ -13,7 +13,7 @@ import ( healthpb "google.golang.org/grpc/health/grpc_health_v1" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/common" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) type Server struct { diff --git a/extension/healthcheckv2extension/internal/http/handlers.go b/extension/healthcheckv2extension/internal/http/handlers.go index 186add81504b..2ae041558038 100644 --- a/extension/healthcheckv2extension/internal/http/handlers.go +++ b/extension/healthcheckv2extension/internal/http/handlers.go @@ -6,7 +6,7 @@ package http // import "github.com/open-telemetry/opentelemetry-collector-contri import ( "net/http" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) func (s *Server) statusHandler() http.Handler { diff --git a/extension/healthcheckv2extension/internal/http/responders.go b/extension/healthcheckv2extension/internal/http/responders.go index 6cb4ed6e3dd0..5dfc3b2cfe09 100644 --- a/extension/healthcheckv2extension/internal/http/responders.go +++ b/extension/healthcheckv2extension/internal/http/responders.go @@ -12,7 +12,7 @@ import ( "go.opentelemetry.io/collector/component/componentstatus" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/common" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) var responseCodes = map[componentstatus.Status]int{ diff --git a/extension/healthcheckv2extension/internal/http/serialization.go b/extension/healthcheckv2extension/internal/http/serialization.go index ce98541e3678..a1a61c72ebfc 100644 --- a/extension/healthcheckv2extension/internal/http/serialization.go +++ b/extension/healthcheckv2extension/internal/http/serialization.go @@ -8,7 +8,7 @@ import ( "go.opentelemetry.io/collector/component/componentstatus" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) type healthyFunc func(status.Event) bool diff --git a/extension/healthcheckv2extension/internal/http/server.go b/extension/healthcheckv2extension/internal/http/server.go index 42e6b943b3c8..d38f9f3944c0 100644 --- a/extension/healthcheckv2extension/internal/http/server.go +++ b/extension/healthcheckv2extension/internal/http/server.go @@ -20,7 +20,7 @@ import ( "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/common" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) type Server struct { diff --git a/extension/healthcheckv2extension/internal/http/server_test.go b/extension/healthcheckv2extension/internal/http/server_test.go index fb3e671a7fd3..de365258206e 100644 --- a/extension/healthcheckv2extension/internal/http/server_test.go +++ b/extension/healthcheckv2extension/internal/http/server_test.go @@ -23,9 +23,10 @@ import ( "go.opentelemetry.io/collector/confmap/confmaptest" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/common" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/testhelpers" + internalhelpers "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/testhelpers" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status/testhelpers" ) // These are used for the legacy test assertions @@ -2942,7 +2943,7 @@ func TestStatus(t *testing.T) { tc.legacyConfig, tc.componentHealthConfig, componenttest.NewNopTelemetrySettings(), - status.NewAggregator(testhelpers.ErrPriority(tc.componentHealthConfig)), + status.NewAggregator(internalhelpers.ErrPriority(tc.componentHealthConfig)), ) require.NoError(t, server.Start(context.Background(), componenttest.NewNopHost())) @@ -2985,7 +2986,7 @@ func TestStatus(t *testing.T) { body, err := io.ReadAll(resp.Body) require.NoError(t, err) - assert.True(t, strings.Contains(string(body), ts.expectedBody)) + assert.Contains(t, string(body), ts.expectedBody) if ts.expectedComponentStatus != nil { st := &serializableStatus{} diff --git a/extension/healthcheckv2extension/internal/status/package_test.go b/extension/healthcheckv2extension/internal/status/package_test.go deleted file mode 100644 index 312e32157c05..000000000000 --- a/extension/healthcheckv2extension/internal/status/package_test.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package status // import "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" - -import ( - "testing" - - "go.uber.org/goleak" -) - -func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) -} diff --git a/extension/healthcheckv2extension/internal/testhelpers/helpers.go b/extension/healthcheckv2extension/internal/testhelpers/helpers.go index 70dadb2e2a43..1377c040d84f 100644 --- a/extension/healthcheckv2extension/internal/testhelpers/helpers.go +++ b/extension/healthcheckv2extension/internal/testhelpers/helpers.go @@ -4,60 +4,10 @@ package testhelpers // import "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/testhelpers" import ( - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/component/componentstatus" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/common" - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension/internal/status" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status" ) -// PipelineMetadata groups together component and instance IDs for a hypothetical pipeline used -// for testing purposes. -type PipelineMetadata struct { - PipelineID component.ID - ReceiverID *componentstatus.InstanceID - ProcessorID *componentstatus.InstanceID - ExporterID *componentstatus.InstanceID -} - -// InstanceIDs returns a slice of instanceIDs for components within the hypothetical pipeline. -func (p *PipelineMetadata) InstanceIDs() []*componentstatus.InstanceID { - return []*componentstatus.InstanceID{p.ReceiverID, p.ProcessorID, p.ExporterID} -} - -// NewPipelineMetadata returns a metadata for a hypothetical pipeline. -func NewPipelineMetadata(typestr string) *PipelineMetadata { - pipelineID := component.MustNewID(typestr) - return &PipelineMetadata{ - PipelineID: pipelineID, - ReceiverID: componentstatus.NewInstanceID(component.NewIDWithName(component.MustNewType(typestr), "in"), component.KindReceiver).WithPipelines(pipelineID), - ProcessorID: componentstatus.NewInstanceID(component.MustNewID("batch"), component.KindProcessor).WithPipelines(pipelineID), - ExporterID: componentstatus.NewInstanceID(component.NewIDWithName(component.MustNewType(typestr), "out"), component.KindExporter).WithPipelines(pipelineID), - } -} - -// NewPipelines returns a map of hypothetical pipelines identified by their stringified typeVal. -func NewPipelines(typestrs ...string) map[string]*PipelineMetadata { - result := make(map[string]*PipelineMetadata, len(typestrs)) - for _, typestr := range typestrs { - result[typestr] = NewPipelineMetadata(typestr) - } - return result -} - -// SeedAggregator records a status event for each instanceID. -func SeedAggregator( - agg *status.Aggregator, - instanceIDs []*componentstatus.InstanceID, - statuses ...componentstatus.Status, -) { - for _, st := range statuses { - for _, id := range instanceIDs { - agg.RecordStatus(id, componentstatus.NewEvent(st)) - } - } -} - func ErrPriority(config *common.ComponentHealthConfig) status.ErrorPriority { if config != nil && config.IncludeRecoverable && !config.IncludePermanent { return status.PriorityRecoverable diff --git a/extension/httpforwarderextension/README.md b/extension/httpforwarderextension/README.md index bde8f0f080db..48ed3a15dfc1 100644 --- a/extension/httpforwarderextension/README.md +++ b/extension/httpforwarderextension/README.md @@ -3,11 +3,14 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fhttpforwarder%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fhttpforwarder) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fhttpforwarder%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fhttpforwarder) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@atoulme](https://www.github.com/atoulme), [@rmfitzpatrick](https://www.github.com/rmfitzpatrick) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@atoulme](https://www.github.com/atoulme) | +| Emeritus | [@rmfitzpatrick](https://www.github.com/rmfitzpatrick) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta +[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s This extension accepts HTTP requests, optionally adds headers to them and forwards them. diff --git a/extension/httpforwarderextension/extension_test.go b/extension/httpforwarderextension/extension_test.go index 7e3563bf6fe8..f5acd26cbe30 100644 --- a/extension/httpforwarderextension/extension_test.go +++ b/extension/httpforwarderextension/extension_test.go @@ -205,7 +205,7 @@ func TestExtension(t *testing.T) { if test.startUpError { err = hf.Start(ctx, componenttest.NewNopHost()) if test.startUpErrorMessage != "" { - require.True(t, strings.Contains(err.Error(), test.startUpErrorMessage)) + require.Contains(t, err.Error(), test.startUpErrorMessage) } require.Error(t, err) diff --git a/extension/httpforwarderextension/factory_test.go b/extension/httpforwarderextension/factory_test.go index 74824c3ab0ad..b1678a5ff47a 100644 --- a/extension/httpforwarderextension/factory_test.go +++ b/extension/httpforwarderextension/factory_test.go @@ -5,7 +5,6 @@ package httpforwarderextension import ( "context" - "strings" "testing" "time" @@ -50,14 +49,14 @@ func TestFactory(t *testing.T) { } for _, test := range tests { t.Run(test.name, func(t *testing.T) { - e, err := f.CreateExtension( + e, err := f.Create( context.Background(), extensiontest.NewNopSettings(), test.config, ) if test.wantErr { if test.wantErrMessage != "" { - require.True(t, strings.Contains(err.Error(), test.wantErrMessage)) + require.Contains(t, err.Error(), test.wantErrMessage) } require.Error(t, err) require.Nil(t, e) diff --git a/extension/httpforwarderextension/generated_component_test.go b/extension/httpforwarderextension/generated_component_test.go index 4afaa64974dd..96a6da67a3f0 100644 --- a/extension/httpforwarderextension/generated_component_test.go +++ b/extension/httpforwarderextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/httpforwarderextension/go.mod b/extension/httpforwarderextension/go.mod index 0cf09c420e10..90c800636a65 100644 --- a/extension/httpforwarderextension/go.mod +++ b/extension/httpforwarderextension/go.mod @@ -3,68 +3,61 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpf go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/httpforwarderextension/go.sum b/extension/httpforwarderextension/go.sum index 35f30d70e693..dd5ba8cc8e19 100644 --- a/extension/httpforwarderextension/go.sum +++ b/extension/httpforwarderextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -29,8 +25,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -41,8 +37,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,74 +45,64 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -134,20 +118,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -158,10 +142,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/httpforwarderextension/metadata.yaml b/extension/httpforwarderextension/metadata.yaml index bab8e2d3a50e..8079b23d2023 100644 --- a/extension/httpforwarderextension/metadata.yaml +++ b/extension/httpforwarderextension/metadata.yaml @@ -4,9 +4,10 @@ status: class: extension stability: beta: [extension] - distributions: [] + distributions: [contrib, k8s] codeowners: - active: [atoulme, rmfitzpatrick] + active: [atoulme] + emeritus: [rmfitzpatrick] tests: config: diff --git a/extension/jaegerremotesampling/extension_test.go b/extension/jaegerremotesampling/extension_test.go index 072b45268e76..39ace820f1d9 100644 --- a/extension/jaegerremotesampling/extension_test.go +++ b/extension/jaegerremotesampling/extension_test.go @@ -92,7 +92,7 @@ func TestRemote(t *testing.T) { go func() { err = server.Serve(lis) - require.NoError(t, err) + assert.NoError(t, err) }() defer func() { server.Stop() }() diff --git a/extension/jaegerremotesampling/factory.go b/extension/jaegerremotesampling/factory.go index 9a500be024bc..6cd5ce005b3f 100644 --- a/extension/jaegerremotesampling/factory.go +++ b/extension/jaegerremotesampling/factory.go @@ -16,7 +16,7 @@ import ( "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling/internal/metadata" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/localhostgate" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) // NewFactory creates a factory for the jaeger remote sampling extension. @@ -32,11 +32,11 @@ func NewFactory() extension.Factory { func createDefaultConfig() component.Config { return &Config{ HTTPServerConfig: &confighttp.ServerConfig{ - Endpoint: localhostgate.EndpointForPort(5778), + Endpoint: testutil.EndpointForPort(5778), }, GRPCServerConfig: &configgrpc.ServerConfig{ NetAddr: confignet.AddrConfig{ - Endpoint: localhostgate.EndpointForPort(14250), + Endpoint: testutil.EndpointForPort(14250), Transport: confignet.TransportTypeTCP, }, }, diff --git a/extension/jaegerremotesampling/factory_test.go b/extension/jaegerremotesampling/factory_test.go index fe59c3a677c2..32ce17c5010a 100644 --- a/extension/jaegerremotesampling/factory_test.go +++ b/extension/jaegerremotesampling/factory_test.go @@ -33,7 +33,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { cfg := createDefaultConfig().(*Config) ext, err := createExtension(context.Background(), extensiontest.NewNopSettings(), cfg) diff --git a/extension/jaegerremotesampling/generated_component_test.go b/extension/jaegerremotesampling/generated_component_test.go index 64994e2d7b0f..cb517d93ce2f 100644 --- a/extension/jaegerremotesampling/generated_component_test.go +++ b/extension/jaegerremotesampling/generated_component_test.go @@ -30,7 +30,7 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) diff --git a/extension/jaegerremotesampling/go.mod b/extension/jaegerremotesampling/go.mod index 052ab50e1a94..b87f51ea8d15 100644 --- a/extension/jaegerremotesampling/go.mod +++ b/extension/jaegerremotesampling/go.mod @@ -4,42 +4,40 @@ go 1.22.0 require ( github.com/fortytw2/leaktest v1.3.0 - github.com/jaegertracing/jaeger v1.60.0 + github.com/jaegertracing/jaeger v1.62.0 github.com/jonboulle/clockwork v0.4.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/configgrpc v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/apache/thrift v0.20.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/apache/thrift v0.21.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -48,13 +46,9 @@ require ( github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect @@ -64,29 +58,28 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.19.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/jaegerremotesampling/go.sum b/extension/jaegerremotesampling/go.sum index 9b123999a64f..2ef1323075c0 100644 --- a/extension/jaegerremotesampling/go.sum +++ b/extension/jaegerremotesampling/go.sum @@ -1,11 +1,7 @@ github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI= -github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= +github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -23,8 +19,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -41,16 +37,16 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jaegertracing/jaeger v1.60.0 h1:6fswbNydmXJNH7uz2smy2fFs9KKRpLrFXdW0u/hud4o= -github.com/jaegertracing/jaeger v1.60.0/go.mod h1:CMrmMLIWn7xLP0IwBgpbxtgIuOT6TF/7bpTUBaOUaXo= +github.com/jaegertracing/jaeger v1.62.0 h1:YoaJ2e8oVz5sqGGlVAKSUCED8DzJ1q7PojBmZFNKoJA= +github.com/jaegertracing/jaeger v1.62.0/go.mod h1:jhEIHazwyb+a6xlRBi+p96BAvTYTSmGkghcwdQfV7FM= github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -61,8 +57,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -77,21 +71,13 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= @@ -125,64 +111,63 @@ github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8 github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.1 h1:/XbunfZ+/jt1+d1p4zM4vZ/AgeaIJsayjYdlN1fV+tk= -go.opentelemetry.io/collector/pdata/pprofile v0.108.1/go.mod h1:/GvG2WcN9Dajlw4QaIOjgz7N32wSfPL3qxJ0BKOcVPo= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector v0.111.0 h1:D3LJTYrrK2ac94E2PXPSbVkArqxbklbCLsE4MAJQdRo= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -200,20 +185,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -222,12 +207,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/jaegerremotesampling/internal/http_test.go b/extension/jaegerremotesampling/internal/http_test.go index 0ad7a113e9a5..075073d82215 100644 --- a/extension/jaegerremotesampling/internal/http_test.go +++ b/extension/jaegerremotesampling/internal/http_test.go @@ -80,7 +80,7 @@ func TestEndpointsAreWired(t *testing.T) { resp.Body.Close() body := string(samplingStrategiesBytes) - assert.Equal(t, `{"probabilisticSampling":{"samplingRate":1}}`, body) + assert.JSONEq(t, `{"probabilisticSampling":{"samplingRate":1}}`, body) }) } } diff --git a/extension/oauth2clientauthextension/README.md b/extension/oauth2clientauthextension/README.md index 28fc4a916313..6e0061cead58 100644 --- a/extension/oauth2clientauthextension/README.md +++ b/extension/oauth2clientauthextension/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Foauth2clientauth%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Foauth2clientauth) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Foauth2clientauth%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Foauth2clientauth) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@pavankrish123](https://www.github.com/pavankrish123), [@jpkrohling](https://www.github.com/jpkrohling) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s diff --git a/extension/oauth2clientauthextension/extension_test.go b/extension/oauth2clientauthextension/extension_test.go index c22561fb5c0e..efc49b09452a 100644 --- a/extension/oauth2clientauthextension/extension_test.go +++ b/extension/oauth2clientauthextension/extension_test.go @@ -82,8 +82,7 @@ func TestOAuthClientSettings(t *testing.T) { t.Run(test.name, func(t *testing.T) { rc, err := newClientAuthenticator(test.settings, zap.NewNop()) if test.shouldError { - assert.Error(t, err) - assert.Contains(t, err.Error(), test.expectedError) + assert.ErrorContains(t, err, test.expectedError) return } assert.NoError(t, err) @@ -296,7 +295,7 @@ func TestFailContactingOAuth(t *testing.T) { _, err = credential.GetRequestMetadata(context.Background()) assert.ErrorIs(t, err, errFailedToGetSecurityToken) - assert.Contains(t, err.Error(), serverURL.String()) + assert.ErrorContains(t, err, serverURL.String()) transport := http.DefaultTransport.(*http.Transport).Clone() baseRoundTripper := (http.RoundTripper)(transport) @@ -311,5 +310,5 @@ func TestFailContactingOAuth(t *testing.T) { require.NoError(t, err) _, err = client.Do(req) assert.ErrorIs(t, err, errFailedToGetSecurityToken) - assert.Contains(t, err.Error(), serverURL.String()) + assert.ErrorContains(t, err, serverURL.String()) } diff --git a/extension/oauth2clientauthextension/factory_test.go b/extension/oauth2clientauthextension/factory_test.go index 2b7a568f86d8..92aa278d253d 100644 --- a/extension/oauth2clientauthextension/factory_test.go +++ b/extension/oauth2clientauthextension/factory_test.go @@ -24,7 +24,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { cfg := createDefaultConfig().(*Config) tests := []struct { diff --git a/extension/oauth2clientauthextension/generated_component_test.go b/extension/oauth2clientauthextension/generated_component_test.go index c430a1c46b20..c43b00dd26b8 100644 --- a/extension/oauth2clientauthextension/generated_component_test.go +++ b/extension/oauth2clientauthextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/oauth2clientauthextension/go.mod b/extension/oauth2clientauthextension/go.mod index 6121b97043f3..b06fd52d9701 100644 --- a/extension/oauth2clientauthextension/go.mod +++ b/extension/oauth2clientauthextension/go.mod @@ -4,55 +4,46 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/oauth2 v0.22.0 - google.golang.org/grpc v1.66.0 + golang.org/x/oauth2 v0.23.0 + google.golang.org/grpc v1.67.1 ) require ( - cloud.google.com/go/compute/metadata v0.3.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/protobuf v1.34.2 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/oauth2clientauthextension/go.sum b/extension/oauth2clientauthextension/go.sum index 49317e3f52ff..f800fd38912b 100644 --- a/extension/oauth2clientauthextension/go.sum +++ b/extension/oauth2clientauthextension/go.sum @@ -1,9 +1,5 @@ -cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= -cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -23,8 +19,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -35,58 +29,44 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -102,22 +82,22 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -126,12 +106,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/oauth2clientauthextension/metadata.yaml b/extension/oauth2clientauthextension/metadata.yaml index a69a201bb044..24bf3b0f8739 100644 --- a/extension/oauth2clientauthextension/metadata.yaml +++ b/extension/oauth2clientauthextension/metadata.yaml @@ -4,8 +4,7 @@ status: class: extension stability: beta: [extension] - distributions: - - contrib + distributions: [contrib, k8s] codeowners: active: [pavankrish123, jpkrohling] diff --git a/extension/observer/cfgardenobserver/generated_component_test.go b/extension/observer/cfgardenobserver/generated_component_test.go index 2aecde514c40..d3581e681e1b 100644 --- a/extension/observer/cfgardenobserver/generated_component_test.go +++ b/extension/observer/cfgardenobserver/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/observer/cfgardenobserver/go.mod b/extension/observer/cfgardenobserver/go.mod index 56610c604b62..f89490e94264 100644 --- a/extension/observer/cfgardenobserver/go.mod +++ b/extension/observer/cfgardenobserver/go.mod @@ -3,51 +3,42 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/obser go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/observer/cfgardenobserver/go.sum b/extension/observer/cfgardenobserver/go.sum index 5dbd6248702e..cd61dfc37999 100644 --- a/extension/observer/cfgardenobserver/go.sum +++ b/extension/observer/cfgardenobserver/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -9,8 +5,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -19,8 +15,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -31,24 +25,12 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= @@ -57,28 +39,26 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -94,20 +74,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -116,12 +96,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/observer/dockerobserver/config_test.go b/extension/observer/dockerobserver/config_test.go index 98c806cef97b..a00c82925634 100644 --- a/extension/observer/dockerobserver/config_test.go +++ b/extension/observer/dockerobserver/config_test.go @@ -99,8 +99,7 @@ func TestApiVersionCustomError(t *testing.T) { factory := NewFactory() cfg := factory.CreateDefaultConfig() err := sub.Unmarshal(cfg) - require.Error(t, err) - assert.Contains(t, err.Error(), + assert.ErrorContains(t, err, `Hint: You may want to wrap the 'api_version' value in quotes (api_version: "1.40")`, ) diff --git a/extension/observer/dockerobserver/extension.go b/extension/observer/dockerobserver/extension.go index 3573c692ceda..f519ab815213 100644 --- a/extension/observer/dockerobserver/extension.go +++ b/extension/observer/dockerobserver/extension.go @@ -104,6 +104,7 @@ func (d *dockerObserver) Start(ctx context.Context, _ component.Host) error { } func (d *dockerObserver) Shutdown(_ context.Context) error { + d.StopListAndWatch() d.cancel() return nil } diff --git a/extension/observer/dockerobserver/factory_test.go b/extension/observer/dockerobserver/factory_test.go index 26e7a8b4077d..f18505fc8003 100644 --- a/extension/observer/dockerobserver/factory_test.go +++ b/extension/observer/dockerobserver/factory_test.go @@ -17,7 +17,7 @@ func TestValidConfig(t *testing.T) { require.NoError(t, err) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { dockerObserver, err := createExtension( context.Background(), extensiontest.NewNopSettings(), diff --git a/extension/observer/dockerobserver/generated_package_test.go b/extension/observer/dockerobserver/generated_package_test.go index feed8f51c9e2..219b1d2bfc25 100644 --- a/extension/observer/dockerobserver/generated_package_test.go +++ b/extension/observer/dockerobserver/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) + goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("net/http.(*persistConn).writeLoop"), goleak.IgnoreTopFunction("internal/poll.runtime_pollWait")) } diff --git a/extension/observer/dockerobserver/go.mod b/extension/observer/dockerobserver/go.mod index 0defaf90cc1d..479154497659 100644 --- a/extension/observer/dockerobserver/go.mod +++ b/extension/observer/dockerobserver/go.mod @@ -5,14 +5,14 @@ go 1.22.0 require ( github.com/docker/docker v26.1.5+incompatible github.com/docker/go-connections v0.5.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/docker v0.112.0 github.com/stretchr/testify v1.9.0 github.com/testcontainers/testcontainers-go v0.31.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -22,9 +22,7 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/Microsoft/hcsshim v0.11.4 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/containerd/containerd v1.7.15 // indirect github.com/containerd/log v0.1.0 // indirect github.com/cpuguy83/dockercfg v0.3.1 // indirect @@ -35,7 +33,7 @@ require ( github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect @@ -53,39 +51,33 @@ require ( github.com/moby/sys/user v0.1.0 // indirect github.com/moby/term v0.5.0 // indirect github.com/morikuni/aec v1.0.0 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/shirou/gopsutil/v3 v3.23.12 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.3 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.25.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/crypto v0.26.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/observer/dockerobserver/go.sum b/extension/observer/dockerobserver/go.sum index eedd914f6b75..d5bf13848250 100644 --- a/extension/observer/dockerobserver/go.sum +++ b/extension/observer/dockerobserver/go.sum @@ -8,12 +8,8 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/containerd/containerd v1.7.15 h1:afEHXdil9iAm03BmhjzKyXnnEBtjaLJefdU7DV0IFes= github.com/containerd/containerd v1.7.15/go.mod h1:ISzRRTMF8EXNpJlTzyr2XMhN+j9K302C21/+cr3kUnY= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= @@ -42,8 +38,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -70,8 +66,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -92,8 +86,6 @@ github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -104,14 +96,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/shirou/gopsutil/v3 v3.23.12 h1:z90NtUkp3bMtmICZKpC4+WaknU1eXtp5vtbQ11DgpE4= @@ -143,34 +127,32 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -182,16 +164,16 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -205,14 +187,14 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY= golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -224,14 +206,14 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 h1:+rdxYoE3E5htTEWIe15GlN6IfvbURM//Jt0mmkmm6ZU= -google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/observer/dockerobserver/metadata.yaml b/extension/observer/dockerobserver/metadata.yaml index 6eef0e943897..ddacb2893032 100644 --- a/extension/observer/dockerobserver/metadata.yaml +++ b/extension/observer/dockerobserver/metadata.yaml @@ -11,4 +11,9 @@ status: # TODO: The tests are not passing on Windows. Either fix them or mark component as not supported on Windows. tests: skip_lifecycle: true - skip_shutdown: true \ No newline at end of file + skip_shutdown: true + goleak: + ignore: + top: + - "net/http.(*persistConn).writeLoop" + - "internal/poll.runtime_pollWait" diff --git a/extension/observer/ecsobserver/README.md b/extension/observer/ecsobserver/README.md index 9d0bfc4462c4..089db180ad62 100644 --- a/extension/observer/ecsobserver/README.md +++ b/extension/observer/ecsobserver/README.md @@ -6,7 +6,8 @@ | Stability | [beta] | | Distributions | [contrib] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fecsobserver%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fecsobserver) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fecsobserver%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fecsobserver) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@dmitryax](https://www.github.com/dmitryax), [@rmfitzpatrick](https://www.github.com/rmfitzpatrick) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@dmitryax](https://www.github.com/dmitryax) | +| Emeritus | [@rmfitzpatrick](https://www.github.com/rmfitzpatrick) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib diff --git a/extension/observer/ecsobserver/extension_test.go b/extension/observer/ecsobserver/extension_test.go index ec733a1531a6..491dfc830ae5 100644 --- a/extension/observer/ecsobserver/extension_test.go +++ b/extension/observer/ecsobserver/extension_test.go @@ -81,18 +81,10 @@ type nopHost struct { reportFunc func(event *componentstatus.Event) } -func (nh *nopHost) GetFactory(component.Kind, component.Type) component.Factory { - return nil -} - func (nh *nopHost) GetExtensions() map[component.ID]component.Component { return nil } -func (nh *nopHost) GetExporters() map[component.DataType]map[component.ID]component.Component { - return nil -} - func (nh *nopHost) Report(event *componentstatus.Event) { nh.reportFunc(event) } diff --git a/extension/observer/ecsobserver/fetcher.go b/extension/observer/ecsobserver/fetcher.go index cf21efafcb4d..4276ddfacf6f 100644 --- a/extension/observer/ecsobserver/fetcher.go +++ b/extension/observer/ecsobserver/fetcher.go @@ -14,7 +14,7 @@ import ( "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/ecs" - "github.com/hashicorp/golang-lru/simplelru" + "github.com/hashicorp/golang-lru/v2/simplelru" "go.uber.org/zap" ) @@ -50,8 +50,8 @@ type taskFetcher struct { ecs ecsClient ec2 ec2Client cluster string - taskDefCache simplelru.LRUCache - ec2Cache simplelru.LRUCache + taskDefCache *simplelru.LRU[string, *ecs.TaskDefinition] + ec2Cache *simplelru.LRU[string, *ec2.Instance] serviceNameFilter serviceNameFilter } @@ -81,11 +81,11 @@ func newTaskFetcherFromConfig(cfg Config, logger *zap.Logger) (*taskFetcher, err func newTaskFetcher(opts taskFetcherOptions) (*taskFetcher, error) { // Init cache - taskDefCache, err := simplelru.NewLRU(taskDefCacheSize, nil) + taskDefCache, err := simplelru.NewLRU[string, *ecs.TaskDefinition](taskDefCacheSize, nil) if err != nil { return nil, err } - ec2Cache, err := simplelru.NewLRU(ec2CacheSize, nil) + ec2Cache, err := simplelru.NewLRU[string, *ec2.Instance](ec2CacheSize, nil) if err != nil { return nil, err } @@ -205,7 +205,7 @@ func (f *taskFetcher) attachTaskDefinition(ctx context.Context, tasks []*ecs.Tas } var def *ecs.TaskDefinition if cached, ok := f.taskDefCache.Get(arn); ok { - def = cached.(*ecs.TaskDefinition) + def = cached } else { res, err := svc.DescribeTaskDefinitionWithContext(ctx, &ecs.DescribeTaskDefinitionInput{ TaskDefinition: aws.String(arn), @@ -251,7 +251,7 @@ func (f *taskFetcher) attachContainerInstance(ctx context.Context, tasks []*task for instanceArn := range ciToEC2 { cached, ok := f.ec2Cache.Get(instanceArn) if ok { - ciToEC2[instanceArn] = cached.(*ec2.Instance) // use value from cache + ciToEC2[instanceArn] = cached // use value from cache } else { instanceList = append(instanceList, aws.String(instanceArn)) } diff --git a/extension/observer/ecsobserver/fetcher_test.go b/extension/observer/ecsobserver/fetcher_test.go index e57ab4c4d24a..155b2bbd5d1b 100644 --- a/extension/observer/ecsobserver/fetcher_test.go +++ b/extension/observer/ecsobserver/fetcher_test.go @@ -225,7 +225,7 @@ func TestFetcher_AttachContainerInstance(t *testing.T) { err = f.attachContainerInstance(ctx, tasks) require.NoError(t, err) assert.Nil(t, tasks[0].EC2) - // task instance pattern is 0 1 0 1 ..., nFargateInstances = 3 so the 4th task is running on instance 1 + // task instance pattern is 0 1 0 1 ..., nFargateInstances = 3 so the 4th task is running on instance 1 assert.Equal(t, "i-1", aws.StringValue(tasks[nFargateInstances].EC2.InstanceId)) }) } diff --git a/extension/observer/ecsobserver/go.mod b/extension/observer/ecsobserver/go.mod index 20b258c1a468..eaf7d766aa85 100644 --- a/extension/observer/ecsobserver/go.mod +++ b/extension/observer/ecsobserver/go.mod @@ -4,12 +4,12 @@ go 1.22.0 require ( github.com/aws/aws-sdk-go v1.55.5 - github.com/hashicorp/golang-lru v1.0.2 + github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 @@ -17,41 +17,33 @@ require ( ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/observer/ecsobserver/go.sum b/extension/observer/ecsobserver/go.sum index a16153983519..6d42aedbbb8b 100644 --- a/extension/observer/ecsobserver/go.sum +++ b/extension/observer/ecsobserver/go.sum @@ -1,9 +1,5 @@ github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -12,24 +8,22 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= -github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -40,24 +34,12 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -65,30 +47,30 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -104,20 +86,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -126,12 +108,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/observer/ecsobserver/metadata.yaml b/extension/observer/ecsobserver/metadata.yaml index 20ee26949e48..e99b78c348df 100644 --- a/extension/observer/ecsobserver/metadata.yaml +++ b/extension/observer/ecsobserver/metadata.yaml @@ -6,7 +6,8 @@ status: beta: [extension] distributions: [contrib] codeowners: - active: [dmitryax, rmfitzpatrick] + active: [dmitryax] + emeritus: [rmfitzpatrick] # TODO: Update the extension to make the tests pass tests: diff --git a/extension/observer/ecsobserver/task_test.go b/extension/observer/ecsobserver/task_test.go index 2daea1bdb2a6..2085912b8655 100644 --- a/extension/observer/ecsobserver/task_test.go +++ b/extension/observer/ecsobserver/task_test.go @@ -90,7 +90,7 @@ func TestTask_PrivateIP(t *testing.T) { assert.Equal(t, mode, errPINF.NetworkMode) // doing contains on error message is not good, but this line increase test coverage from 93% to 98% // not sure how the average coverage is calculated ... - assert.Contains(t, err.Error(), mode) + assert.ErrorContains(t, err, mode) } }) } @@ -185,7 +185,7 @@ func TestTask_MappedPort(t *testing.T) { errMPNF := &errMappedPortNotFound{} require.ErrorAs(t, err, &errMPNF) assert.Equal(t, mode, errMPNF.NetworkMode) - assert.Contains(t, err.Error(), mode) // for coverage + assert.ErrorContains(t, err, mode) // for coverage } }) } diff --git a/extension/observer/ecstaskobserver/README.md b/extension/observer/ecstaskobserver/README.md index d0757fc79a7c..dd6717ae8a97 100644 --- a/extension/observer/ecstaskobserver/README.md +++ b/extension/observer/ecstaskobserver/README.md @@ -6,7 +6,8 @@ | Stability | [beta] | | Distributions | [contrib] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fecstaskobserver%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fecstaskobserver) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fecstaskobserver%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fecstaskobserver) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@rmfitzpatrick](https://www.github.com/rmfitzpatrick) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | | +| Emeritus | [@rmfitzpatrick](https://www.github.com/rmfitzpatrick) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib diff --git a/extension/observer/ecstaskobserver/factory_test.go b/extension/observer/ecstaskobserver/factory_test.go index 9da375aab78d..431c2dfc2396 100644 --- a/extension/observer/ecstaskobserver/factory_test.go +++ b/extension/observer/ecstaskobserver/factory_test.go @@ -18,7 +18,7 @@ func TestFactoryCreatedExtensionIsEndpointsLister(t *testing.T) { cfg := etoFactory.CreateDefaultConfig() cfg.(*Config).Endpoint = "http://localhost:1234/mock/endpoint" - eto, err := etoFactory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + eto, err := etoFactory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NotNil(t, eto) require.Implements(t, (*observer.EndpointsLister)(nil), eto) diff --git a/extension/observer/ecstaskobserver/go.mod b/extension/observer/ecstaskobserver/go.mod index 7a5d59949f65..887c44eb0f69 100644 --- a/extension/observer/ecstaskobserver/go.mod +++ b/extension/observer/ecstaskobserver/go.mod @@ -3,69 +3,59 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/obser go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/observer/ecstaskobserver/go.sum b/extension/observer/ecstaskobserver/go.sum index 3ea7921e17ed..b75ae58bc6ae 100644 --- a/extension/observer/ecstaskobserver/go.sum +++ b/extension/observer/ecstaskobserver/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -23,14 +19,12 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -41,8 +35,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,20 +43,12 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= @@ -73,52 +57,46 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -134,20 +112,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -158,10 +136,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/observer/ecstaskobserver/metadata.yaml b/extension/observer/ecstaskobserver/metadata.yaml index 0177523ca378..f3c30a83df46 100644 --- a/extension/observer/ecstaskobserver/metadata.yaml +++ b/extension/observer/ecstaskobserver/metadata.yaml @@ -6,7 +6,8 @@ status: beta: [extension] distributions: [contrib] codeowners: - active: [rmfitzpatrick] + active: [] + emeritus: [rmfitzpatrick] # TODO: Update the extension to make the tests pass tests: diff --git a/extension/observer/endpoints.go b/extension/observer/endpoints.go index 2a9493bb2f60..cd51a35e036d 100644 --- a/extension/observer/endpoints.go +++ b/extension/observer/endpoints.go @@ -24,6 +24,8 @@ const ( PortType EndpointType = "port" // PodType is a pod endpoint. PodType EndpointType = "pod" + // PodContainerType is a pod's container endpoint. + PodContainerType EndpointType = "pod.container" // K8sServiceType is a service endpoint. K8sServiceType EndpointType = "k8s.service" // K8sIngressType is a ingress endpoint. @@ -218,6 +220,31 @@ func (p *Pod) Type() EndpointType { return PodType } +// PodContainer is a discovered k8s pod's container +type PodContainer struct { + // Name of the container + Name string + // Image of the container + Image string + // ContainerID is the id of the container exposing the Endpoint + ContainerID string + // Pod is the k8s pod in which the container is running + Pod Pod +} + +func (p *PodContainer) Env() EndpointEnv { + return map[string]any{ + "container_name": p.Name, + "container_id": p.ContainerID, + "container_image": p.Image, + "pod": p.Pod.Env(), + } +} + +func (p *PodContainer) Type() EndpointType { + return PodContainerType +} + // Port is an endpoint that has a target as well as a port. type Port struct { // Name is the name of the container port. diff --git a/extension/observer/hostobserver/README.md b/extension/observer/hostobserver/README.md index f18e7019e930..e55ff01b485b 100644 --- a/extension/observer/hostobserver/README.md +++ b/extension/observer/hostobserver/README.md @@ -4,12 +4,13 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fhostobserver%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fhostobserver) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fhostobserver%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fhostobserver) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@MovieStoreGuy](https://www.github.com/MovieStoreGuy) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s The `host_observer` looks at the current host for listening network endpoints. diff --git a/extension/observer/hostobserver/factory_test.go b/extension/observer/hostobserver/factory_test.go index a32b363b26e3..cf53f0864b8f 100644 --- a/extension/observer/hostobserver/factory_test.go +++ b/extension/observer/hostobserver/factory_test.go @@ -17,7 +17,7 @@ func TestValidConfig(t *testing.T) { require.NoError(t, err) } -func TestCreateMetricsReceiver(t *testing.T) { +func TestCreateMetrics(t *testing.T) { hostObserver, err := createExtension( context.Background(), extensiontest.NewNopSettings(), diff --git a/extension/observer/hostobserver/generated_component_test.go b/extension/observer/hostobserver/generated_component_test.go index ded77684abea..8519ef955b16 100644 --- a/extension/observer/hostobserver/generated_component_test.go +++ b/extension/observer/hostobserver/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/observer/hostobserver/go.mod b/extension/observer/hostobserver/go.mod index 7e3f0da7d38f..a1e4158a035a 100644 --- a/extension/observer/hostobserver/go.mod +++ b/extension/observer/hostobserver/go.mod @@ -3,59 +3,50 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/obser go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.108.0 - github.com/shirou/gopsutil/v4 v4.24.8 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.112.0 + github.com/shirou/gopsutil/v4 v4.24.9 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/observer/hostobserver/go.sum b/extension/observer/hostobserver/go.sum index c500d1271dc3..753265c01e35 100644 --- a/extension/observer/hostobserver/go.sum +++ b/extension/observer/hostobserver/go.sum @@ -1,9 +1,7 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -11,8 +9,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -22,8 +20,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -34,36 +30,20 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -76,28 +56,26 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -113,8 +91,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -125,12 +103,12 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -139,12 +117,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/observer/hostobserver/metadata.yaml b/extension/observer/hostobserver/metadata.yaml index 8a85609d0fdf..924da269d629 100644 --- a/extension/observer/hostobserver/metadata.yaml +++ b/extension/observer/hostobserver/metadata.yaml @@ -4,6 +4,6 @@ status: class: extension stability: beta: [extension] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [MovieStoreGuy] diff --git a/extension/observer/k8sobserver/README.md b/extension/observer/k8sobserver/README.md index 9375a7a02efd..a233035611b6 100644 --- a/extension/observer/k8sobserver/README.md +++ b/extension/observer/k8sobserver/README.md @@ -4,16 +4,18 @@ | Status | | | ------------- |-----------| | Stability | [alpha] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fk8sobserver%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fk8sobserver) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fk8sobserver%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fk8sobserver) | -| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@rmfitzpatrick](https://www.github.com/rmfitzpatrick), [@dmitryax](https://www.github.com/dmitryax) | +| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@dmitryax](https://www.github.com/dmitryax), [@ChrsMark](https://www.github.com/ChrsMark) | +| Emeritus | [@rmfitzpatrick](https://www.github.com/rmfitzpatrick) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s The `k8s_observer` is a [Receiver Creator](../../../receiver/receivercreator/README.md)-compatible "watch observer" that will detect and report -Kubernetes pod, port, service, ingress and node endpoints via the Kubernetes API. +Kubernetes pod, port, container, service, ingress and node endpoints via the Kubernetes API. ## Example Config @@ -73,3 +75,171 @@ All fields are optional. | observe_nodes | bool | `false` | Whether to report observer k8s.node endpoints. If `true` and `node` is specified it will only discover node endpoints whose `metadata.name` matches the provided node name. If `true` and `node` isn't specified, it will discover all available node endpoints. Please note that Collector connectivity to nodes is dependent on your cluster configuration and isn't guaranteed.| | observe_services | bool | `false` | Whether to report observer k8s.service endpoints.| | observe_ingresses | bool | `false` | Whether to report observer k8s.ingress endpoints.| + +More complete configuration examples on how to use this observer along with the `receiver_creator`, +can be found at the [Receiver Creator](../../../receiver/receivercreator/README.md)'s documentation. + +### Setting up RBAC permissions + +When using the `serviceAccount` `auth_type`, the service account of the pod running the agent needs to have the required permissions to +read the K8s resources it should observe (i.e. pods, nodes, services and ingresses). +Therefore, the service account running the pod needs to have the required `ClusterRole` which grants it the permission to +read those resources from the Kubernetes API. Below is an example of how to set this up: + +1. Create a `ServiceAccount` that the collector should use. + +```bash +< + + service: + pipelines: + metrics: + receivers: [receiver_creator] + exporters: [otlp] +EOF +``` + +4. Create the collector deployment, referring to the service account created earlier + +```bash +< This extension implements a `configauth.ServerAuthenticator`, to be used in receivers inside the `auth` settings. The authenticator type has to be set to `oidc`. diff --git a/extension/oidcauthextension/extension.go b/extension/oidcauthextension/extension.go index 52ce78b29154..c79e3231ef3a 100644 --- a/extension/oidcauthextension/extension.go +++ b/extension/oidcauthextension/extension.go @@ -27,10 +27,11 @@ import ( type oidcExtension struct { cfg *Config - provider *oidc.Provider - verifier *oidc.IDTokenVerifier - - logger *zap.Logger + provider *oidc.Provider + verifier *oidc.IDTokenVerifier + client *http.Client + logger *zap.Logger + transport *http.Transport } var ( @@ -53,19 +54,31 @@ func newExtension(cfg *Config, logger *zap.Logger) auth.Server { cfg: cfg, logger: logger, } - return auth.NewServer(auth.WithServerStart(oe.start), auth.WithServerAuthenticate(oe.authenticate)) + return auth.NewServer( + auth.WithServerStart(oe.start), + auth.WithServerAuthenticate(oe.authenticate), + auth.WithServerShutdown(oe.shutdown), + ) } -func (e *oidcExtension) start(context.Context, component.Host) error { - provider, err := getProviderForConfig(e.cfg) +func (e *oidcExtension) start(ctx context.Context, _ component.Host) error { + err := e.setProviderConfig(ctx, e.cfg) if err != nil { return fmt.Errorf("failed to get configuration from the auth server: %w", err) } - e.provider = provider - e.verifier = e.provider.Verifier(&oidc.Config{ ClientID: e.cfg.Audience, }) + return nil +} + +func (e *oidcExtension) shutdown(context.Context) error { + if e.client != nil { + e.client.CloseIdleConnections() + } + if e.transport != nil { + e.transport.CloseIdleConnections() + } return nil } @@ -124,6 +137,44 @@ func (e *oidcExtension) authenticate(ctx context.Context, headers map[string][]s return client.NewContext(ctx, cl), nil } +func (e *oidcExtension) setProviderConfig(ctx context.Context, config *Config) error { + e.transport = &http.Transport{ + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: 5 * time.Second, + KeepAlive: 10 * time.Second, + DualStack: true, + }).DialContext, + ForceAttemptHTTP2: true, + MaxIdleConns: 100, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 5 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + } + + cert, err := getIssuerCACertFromPath(config.IssuerCAPath) + if err != nil { + return err // the errors from this path have enough context already + } + + if cert != nil { + e.transport.TLSClientConfig = &tls.Config{ + RootCAs: x509.NewCertPool(), + } + e.transport.TLSClientConfig.RootCAs.AddCert(cert) + } + + e.client = &http.Client{ + Timeout: 5 * time.Second, + Transport: e.transport, + } + oidcContext := oidc.ClientContext(ctx, e.client) + provider, err := oidc.NewProvider(oidcContext, config.IssuerURL) + e.provider = provider + + return err +} + func getSubjectFromClaims(claims map[string]any, usernameClaim string, fallback string) (string, error) { if len(usernameClaim) > 0 { username, found := claims[usernameClaim] @@ -167,41 +218,6 @@ func getGroupsFromClaims(claims map[string]any, groupsClaim string) ([]string, e return []string{}, nil } -func getProviderForConfig(config *Config) (*oidc.Provider, error) { - t := &http.Transport{ - Proxy: http.ProxyFromEnvironment, - DialContext: (&net.Dialer{ - Timeout: 5 * time.Second, - KeepAlive: 10 * time.Second, - DualStack: true, - }).DialContext, - ForceAttemptHTTP2: true, - MaxIdleConns: 100, - IdleConnTimeout: 90 * time.Second, - TLSHandshakeTimeout: 5 * time.Second, - ExpectContinueTimeout: 1 * time.Second, - } - - cert, err := getIssuerCACertFromPath(config.IssuerCAPath) - if err != nil { - return nil, err // the errors from this path have enough context already - } - - if cert != nil { - t.TLSClientConfig = &tls.Config{ - RootCAs: x509.NewCertPool(), - } - t.TLSClientConfig.RootCAs.AddCert(cert) - } - - client := &http.Client{ - Timeout: 5 * time.Second, - Transport: t, - } - oidcContext := oidc.ClientContext(context.Background(), client) - return oidc.NewProvider(oidcContext, config.IssuerURL) -} - func getIssuerCACertFromPath(path string) (*x509.Certificate, error) { if path == "" { return nil, nil diff --git a/extension/oidcauthextension/extension_test.go b/extension/oidcauthextension/extension_test.go index 72931882a19a..92b72d15fa14 100644 --- a/extension/oidcauthextension/extension_test.go +++ b/extension/oidcauthextension/extension_test.go @@ -112,11 +112,14 @@ func TestOIDCProviderForConfigWithTLS(t *testing.T) { } // test - provider, err := getProviderForConfig(config) + e := &oidcExtension{} + err = e.setProviderConfig(context.Background(), config) // verify assert.NoError(t, err) - assert.NotNil(t, provider) + assert.NotNil(t, e.provider) + assert.NotNil(t, e.client) + assert.NotNil(t, e.transport) } func TestOIDCLoadIssuerCAFromPath(t *testing.T) { @@ -185,11 +188,14 @@ func TestOIDCFailedToLoadIssuerCAFromPathInvalidContent(t *testing.T) { } // test - provider, err := getProviderForConfig(config) // cross test with getIssuerCACertFromPath + e := &oidcExtension{} + err = e.setProviderConfig(context.Background(), config) // verify assert.Error(t, err) - assert.Nil(t, provider) + assert.Nil(t, e.provider) + assert.Nil(t, e.client) + assert.NotNil(t, e.transport) } func TestOIDCInvalidAuthHeader(t *testing.T) { @@ -234,6 +240,9 @@ func TestProviderNotReacheable(t *testing.T) { // verify assert.Error(t, err) + + err = p.Shutdown(context.Background()) + assert.NoError(t, err) } func TestFailedToVerifyToken(t *testing.T) { diff --git a/extension/oidcauthextension/factory_test.go b/extension/oidcauthextension/factory_test.go index 6133e6e55fd2..80b20293cb54 100644 --- a/extension/oidcauthextension/factory_test.go +++ b/extension/oidcauthextension/factory_test.go @@ -26,7 +26,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.Audience = "collector" cfg.IssuerURL = "https://auth.example.com" diff --git a/extension/oidcauthextension/generated_component_test.go b/extension/oidcauthextension/generated_component_test.go index b60fb6c04186..b9b73ae0f03c 100644 --- a/extension/oidcauthextension/generated_component_test.go +++ b/extension/oidcauthextension/generated_component_test.go @@ -30,7 +30,7 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) diff --git a/extension/oidcauthextension/generated_package_test.go b/extension/oidcauthextension/generated_package_test.go index 322491bcffe1..195328a56d6e 100644 --- a/extension/oidcauthextension/generated_package_test.go +++ b/extension/oidcauthextension/generated_package_test.go @@ -3,11 +3,11 @@ package oidcauthextension import ( - "os" "testing" + + "go.uber.org/goleak" ) func TestMain(m *testing.M) { - // skipping goleak test as per metadata.yml configuration - os.Exit(m.Run()) + goleak.VerifyTestMain(m) } diff --git a/extension/oidcauthextension/go.mod b/extension/oidcauthextension/go.mod index c5f3c7973148..8f24437e032a 100644 --- a/extension/oidcauthextension/go.mod +++ b/extension/oidcauthextension/go.mod @@ -5,53 +5,45 @@ go 1.22.0 require ( github.com/coreos/go-oidc/v3 v3.11.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/client v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 + go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-jose/go-jose/v4 v4.0.2 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.25.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/crypto v0.26.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/oidcauthextension/go.sum b/extension/oidcauthextension/go.sum index 4475864f9b13..bafa362a1cc4 100644 --- a/extension/oidcauthextension/go.sum +++ b/extension/oidcauthextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/coreos/go-oidc/v3 v3.11.0 h1:Ia3MxdwpSw702YW0xgfmP1GVCMA9aEFWu12XUZ3/OtI= github.com/coreos/go-oidc/v3 v3.11.0/go.mod h1:gE3LgjOgFoHi9a4ce4/tJczr0Ai2/BoDhf0r5lltWI0= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -25,8 +21,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -37,8 +31,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -47,52 +39,40 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -102,30 +82,30 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -134,12 +114,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 h1:BwIjyKYGsK9dMCBOorzRri8MQwmi7mT9rGHsCEinZkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/oidcauthextension/metadata.yaml b/extension/oidcauthextension/metadata.yaml index 678dd3e58790..775f6424c280 100644 --- a/extension/oidcauthextension/metadata.yaml +++ b/extension/oidcauthextension/metadata.yaml @@ -4,12 +4,10 @@ status: class: extension stability: beta: [extension] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [jpkrohling] tests: config: skip_lifecycle: true - goleak: - skip: true diff --git a/extension/opampextension/README.md b/extension/opampextension/README.md index b12f1869d949..28fc706b178a 100644 --- a/extension/opampextension/README.md +++ b/extension/opampextension/README.md @@ -3,12 +3,13 @@ | Status | | | ------------- |-----------| | Stability | [alpha] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fopamp%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fopamp) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fopamp%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fopamp) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@portertech](https://www.github.com/portertech), [@evan-bradley](https://www.github.com/evan-bradley), [@tigrannajaryan](https://www.github.com/tigrannajaryan), [@BinaryFissionGames](https://www.github.com/BinaryFissionGames) | [alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s ## Configuration @@ -25,6 +26,7 @@ The following settings are optional for the websocket client: - `ws`: The OpAMP websocket transport settings. - `tls`: TLS settings. - `headers`: HTTP headers to set. + - `auth`: The ID of an auth extension to use for authentication. The following settings are optional for the HTTP client: @@ -33,6 +35,7 @@ The following settings are optional for the HTTP client: - `tls`: TLS settings. - `headers`: HTTP headers to set. - `polling_interval`: The interval at which the extension will poll the server. Defaults to 30s. + - `auth`: The ID of an auth extension to use for authentication. The following settings are optional for both transports: @@ -41,6 +44,7 @@ The following settings are optional for both transports: instance UID remains constant across process restarts. - `capabilities`: Keys with boolean true/false values that enable a particular OpAMP capability. - `reports_effective_config`: Whether to enable the OpAMP ReportsEffectiveConfig capability. Default is `true`. + - `reports_health`: Whether to enable the OpAMP ReportsHealth capability. Default is `true`. - `agent_description`: Setting that modifies the agent description reported to the OpAMP server. - `non_identifying_attributes`: A map of key value pairs that will be added to the [non-identifying attributes](https://github.com/open-telemetry/opamp-spec/blob/main/specification.md#agentdescriptionnon_identifying_attributes) reported to the OpAMP server. If an attribute collides with the default non-identifying attributes that are automatically added, the ones specified here take precedence. - `ppid`: An optional process ID to monitor. When this process is no longer running, the extension will emit a fatal error, causing the collector to exit. This is meant to be set by the Supervisor or some other parent process, and should not be configured manually. diff --git a/extension/opampextension/auth.go b/extension/opampextension/auth.go new file mode 100644 index 000000000000..0477a718da7e --- /dev/null +++ b/extension/opampextension/auth.go @@ -0,0 +1,80 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package opampextension // import "github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension" + +import ( + "bytes" + "fmt" + "io" + "net/http" + + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/extension/auth" + "go.uber.org/zap" +) + +// headerCaptureRoundTripper is a RoundTripper that captures the headers of the request +// that passes through it. +type headerCaptureRoundTripper struct { + lastHeader http.Header +} + +func (h *headerCaptureRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + h.lastHeader = req.Header.Clone() + // Dummy response is recorded here + return &http.Response{ + Status: "200 OK", + StatusCode: 200, + Proto: "HTTP/1.0", + ProtoMajor: 1, + ProtoMinor: 0, + Body: io.NopCloser(&bytes.Buffer{}), + Request: req, + }, nil +} + +func makeHeadersFunc(logger *zap.Logger, serverCfg *OpAMPServer, host component.Host) (func(http.Header) http.Header, error) { + var emptyComponentID component.ID + if serverCfg == nil || serverCfg.GetAuthExtensionID() == emptyComponentID { + return nil, nil + } + + extID := serverCfg.GetAuthExtensionID() + ext, ok := host.GetExtensions()[extID] + if !ok { + return nil, fmt.Errorf("could not find auth extension %q", extID) + } + + authExt, ok := ext.(auth.Client) + if !ok { + return nil, fmt.Errorf("auth extension %q is not an auth.Client", extID) + } + + hcrt := &headerCaptureRoundTripper{} + rt, err := authExt.RoundTripper(hcrt) + if err != nil { + return nil, fmt.Errorf("could not create roundtripper for authentication: %w", err) + } + + return func(h http.Header) http.Header { + // This is a workaround while websocket authentication is being worked on. + // Currently, we are waiting on the auth module to be stabilized. + // See for more info: https://github.com/open-telemetry/opentelemetry-collector/issues/10864 + dummyReq, err := http.NewRequest("GET", "http://example.com", nil) + if err != nil { + logger.Error("Failed to create dummy request for authentication.", zap.Error(err)) + return h + } + + dummyReq.Header = h + + _, err = rt.RoundTrip(dummyReq) + if err != nil { + logger.Error("Error while performing round-trip for authentication.", zap.Error(err)) + return h + } + + return hcrt.lastHeader + }, nil +} diff --git a/extension/opampextension/auth_test.go b/extension/opampextension/auth_test.go new file mode 100644 index 000000000000..15f2c64bb9da --- /dev/null +++ b/extension/opampextension/auth_test.go @@ -0,0 +1,135 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package opampextension + +import ( + "context" + "net/http" + "testing" + + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/component/componenttest" + "go.uber.org/zap" + "google.golang.org/grpc/credentials" +) + +func TestMakeHeadersFunc(t *testing.T) { + t.Run("Nil server config", func(t *testing.T) { + headersFunc, err := makeHeadersFunc(zap.NewNop(), nil, nil) + require.NoError(t, err) + require.Nil(t, headersFunc) + }) + + t.Run("No auth extension specified", func(t *testing.T) { + headersFunc, err := makeHeadersFunc(zap.NewNop(), &OpAMPServer{ + WS: &commonFields{}, + }, nil) + require.NoError(t, err) + require.Nil(t, headersFunc) + }) + + t.Run("Extension does not exist", func(t *testing.T) { + nopHost := componenttest.NewNopHost() + headersFunc, err := makeHeadersFunc(zap.NewNop(), &OpAMPServer{ + WS: &commonFields{ + Auth: component.NewID(component.MustNewType("bearerauth")), + }, + }, nopHost) + require.EqualError(t, err, `could not find auth extension "bearerauth"`) + require.Nil(t, headersFunc) + }) + + t.Run("Extension is not an auth extension", func(t *testing.T) { + authComponent := component.NewID(component.MustNewType("bearerauth")) + host := &mockHost{ + extensions: map[component.ID]component.Component{ + authComponent: mockComponent{}, + }, + } + headersFunc, err := makeHeadersFunc(zap.NewNop(), &OpAMPServer{ + WS: &commonFields{ + Auth: authComponent, + }, + }, host) + + require.EqualError(t, err, `auth extension "bearerauth" is not an auth.Client`) + require.Nil(t, headersFunc) + }) + + t.Run("Headers func extracts headers from extension", func(t *testing.T) { + authComponent := component.NewID(component.MustNewType("bearerauth")) + h := http.Header{} + h.Set("Authorization", "Bearer user:pass") + + host := &mockHost{ + extensions: map[component.ID]component.Component{ + authComponent: mockAuthClient{ + header: h, + }, + }, + } + headersFunc, err := makeHeadersFunc(zap.NewNop(), &OpAMPServer{ + WS: &commonFields{ + Auth: authComponent, + }, + }, host) + + require.NoError(t, err) + headersOut := headersFunc(http.Header{ + "OtherHeader": []string{"OtherValue"}, + }) + + require.Equal(t, http.Header{ + "OtherHeader": []string{"OtherValue"}, + "Authorization": []string{"Bearer user:pass"}, + }, headersOut) + }) +} + +type mockHost struct { + extensions map[component.ID]component.Component +} + +func (m mockHost) GetExtensions() map[component.ID]component.Component { + return m.extensions +} + +type mockComponent struct{} + +func (mockComponent) Start(_ context.Context, _ component.Host) error { return nil } +func (mockComponent) Shutdown(_ context.Context) error { return nil } + +type mockAuthClient struct { + header http.Header +} + +func (mockAuthClient) Start(_ context.Context, _ component.Host) error { return nil } +func (mockAuthClient) Shutdown(_ context.Context) error { return nil } +func (m mockAuthClient) RoundTripper(base http.RoundTripper) (http.RoundTripper, error) { + return mockRoundTripper{ + header: m.header, + base: base, + }, nil +} +func (mockAuthClient) PerRPCCredentials() (credentials.PerRPCCredentials, error) { + return nil, nil +} + +type mockRoundTripper struct { + header http.Header + base http.RoundTripper +} + +func (m mockRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + reqClone := req.Clone(req.Context()) + + for k, vals := range m.header { + for _, val := range vals { + reqClone.Header.Add(k, val) + } + } + + return m.base.RoundTrip(reqClone) +} diff --git a/extension/opampextension/config.go b/extension/opampextension/config.go index 202bfdbb6d8a..e47ae1894ed0 100644 --- a/extension/opampextension/config.go +++ b/extension/opampextension/config.go @@ -10,6 +10,7 @@ import ( "github.com/open-telemetry/opamp-go/client" "github.com/open-telemetry/opamp-go/protobufs" + "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/configopaque" "go.opentelemetry.io/collector/config/configtls" "go.uber.org/zap" @@ -53,6 +54,8 @@ type AgentDescription struct { type Capabilities struct { // ReportsEffectiveConfig enables the OpAMP ReportsEffectiveConfig Capability. (default: true) ReportsEffectiveConfig bool `mapstructure:"reports_effective_config"` + // ReportsHealth enables the OpAMP ReportsHealth Capability. (default: true) + ReportsHealth bool `mapstructure:"reports_health"` } func (caps Capabilities) toAgentCapabilities() protobufs.AgentCapabilities { @@ -62,6 +65,9 @@ func (caps Capabilities) toAgentCapabilities() protobufs.AgentCapabilities { if caps.ReportsEffectiveConfig { agentCapabilities |= protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig } + if caps.ReportsHealth { + agentCapabilities |= protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth + } return agentCapabilities } @@ -70,6 +76,7 @@ type commonFields struct { Endpoint string `mapstructure:"endpoint"` TLSSetting configtls.ClientConfig `mapstructure:"tls,omitempty"` Headers map[string]configopaque.String `mapstructure:"headers,omitempty"` + Auth component.ID `mapstructure:"auth,omitempty"` } func (c *commonFields) Scheme() string { @@ -148,6 +155,17 @@ func (s OpAMPServer) GetEndpoint() string { return "" } +func (s OpAMPServer) GetAuthExtensionID() component.ID { + if s.WS != nil { + return s.WS.Auth + } else if s.HTTP != nil { + return s.HTTP.Auth + } + + var emptyComponentID component.ID + return emptyComponentID +} + func (s OpAMPServer) GetPollingInterval() time.Duration { if s.HTTP != nil && s.HTTP.PollingInterval > 0 { return s.HTTP.PollingInterval diff --git a/extension/opampextension/config_test.go b/extension/opampextension/config_test.go index bbccff4d91aa..7f50970f3184 100644 --- a/extension/opampextension/config_test.go +++ b/extension/opampextension/config_test.go @@ -8,6 +8,7 @@ import ( "testing" "time" + "github.com/open-telemetry/opamp-go/protobufs" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/config/configopaque" @@ -39,6 +40,7 @@ func TestUnmarshalConfig(t *testing.T) { InstanceUID: "01BX5ZZKBKACTAV9WEVGEMMVRZ", Capabilities: Capabilities{ ReportsEffectiveConfig: true, + ReportsHealth: true, }, PPIDPollInterval: 5 * time.Second, }, cfg) @@ -63,6 +65,7 @@ func TestUnmarshalHttpConfig(t *testing.T) { InstanceUID: "01BX5ZZKBKACTAV9WEVGEMMVRZ", Capabilities: Capabilities{ ReportsEffectiveConfig: true, + ReportsHealth: true, }, PPIDPollInterval: 5 * time.Second, }, cfg) @@ -286,3 +289,41 @@ func TestConfig_Validate(t *testing.T) { }) } } + +func TestCapabilities_toAgentCapabilities(t *testing.T) { + type fields struct { + ReportsEffectiveConfig bool + ReportsHealth bool + } + tests := []struct { + name string + fields fields + want protobufs.AgentCapabilities + }{ + { + name: "default capabilities", + fields: fields{ + ReportsEffectiveConfig: false, + ReportsHealth: false, + }, + want: protobufs.AgentCapabilities_AgentCapabilities_ReportsStatus, + }, + { + name: "all supported capabilities enabled", + fields: fields{ + ReportsEffectiveConfig: true, + ReportsHealth: true, + }, + want: protobufs.AgentCapabilities_AgentCapabilities_ReportsStatus | protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig | protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + caps := Capabilities{ + ReportsEffectiveConfig: tt.fields.ReportsEffectiveConfig, + ReportsHealth: tt.fields.ReportsHealth, + } + assert.Equalf(t, tt.want, caps.toAgentCapabilities(), "toAgentCapabilities()") + }) + } +} diff --git a/extension/opampextension/factory.go b/extension/opampextension/factory.go index ea4ea23a22d6..868c3bc85c65 100644 --- a/extension/opampextension/factory.go +++ b/extension/opampextension/factory.go @@ -27,6 +27,7 @@ func createDefaultConfig() component.Config { Server: &OpAMPServer{}, Capabilities: Capabilities{ ReportsEffectiveConfig: true, + ReportsHealth: true, }, PPIDPollInterval: 5 * time.Second, } diff --git a/extension/opampextension/factory_test.go b/extension/opampextension/factory_test.go index 70e3a9b075f4..5f763ab06f9f 100644 --- a/extension/opampextension/factory_test.go +++ b/extension/opampextension/factory_test.go @@ -23,7 +23,7 @@ func TestFactory_CreateDefaultConfig(t *testing.T) { require.NotNil(t, ext) } -func TestFactory_CreateExtension(t *testing.T) { +func TestFactory_Create(t *testing.T) { cfg := NewFactory().CreateDefaultConfig() ext, err := createExtension(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) diff --git a/extension/opampextension/generated_component_test.go b/extension/opampextension/generated_component_test.go index 0eaeb2a082bc..6a15f45b7c2b 100644 --- a/extension/opampextension/generated_component_test.go +++ b/extension/opampextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/opampextension/go.mod b/extension/opampextension/go.mod index 7661c0f026e1..685dcc9ad990 100644 --- a/extension/opampextension/go.mod +++ b/extension/opampextension/go.mod @@ -5,69 +5,63 @@ go 1.22.0 require ( github.com/google/uuid v1.6.0 github.com/oklog/ulid/v2 v2.1.0 - github.com/open-telemetry/opamp-go v0.15.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages v0.108.0 - github.com/shirou/gopsutil/v4 v4.24.8 + github.com/open-telemetry/opamp-go v0.17.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages v0.112.0 + github.com/shirou/gopsutil/v4 v4.24.9 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 + go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 + google.golang.org/grpc v1.67.1 gopkg.in/yaml.v3 v3.0.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/gorilla/websocket v1.5.1 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/gorilla/websocket v1.5.3 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/tklauser/go-sysconf v0.3.14 // indirect github.com/tklauser/numcpus v0.8.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages => ../opampcustommessages diff --git a/extension/opampextension/go.sum b/extension/opampextension/go.sum index 010ab94b5991..d6fc9b928aff 100644 --- a/extension/opampextension/go.sum +++ b/extension/opampextension/go.sum @@ -1,11 +1,9 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -15,8 +13,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -24,12 +22,10 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= -github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -40,41 +36,25 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU= github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= -github.com/open-telemetry/opamp-go v0.15.0 h1:X2TWhEsGQ8GP7Uos3Ic9v/1aFUqoECZXKS7xAF5HqsA= -github.com/open-telemetry/opamp-go v0.15.0/go.mod h1:QyPeN56JXlcZt5yG5RMdZ50Ju+zMFs1Ihy/hwHyF8Oo= +github.com/open-telemetry/opamp-go v0.17.0 h1:3R4+B/6Sy8mknLBbzO3gqloqwTT02rCSRcr4ac2B124= +github.com/open-telemetry/opamp-go v0.17.0/go.mod h1:SGDhUoAx7uGutO4ENNMQla/tiSujxgZmMPJXIOPGBdk= github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZb78yU= @@ -85,36 +65,40 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0 h1:9xVrP0/g1jY/MSVvWeubCS5Au3HewwwgHadBl/8n+0o= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.112.0/go.mod h1:xVudLmVgs5pRdyOhM98agrhGx6XFb20FUzF/vls99D8= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -132,8 +116,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -142,12 +126,12 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -156,12 +140,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/opampextension/metadata.yaml b/extension/opampextension/metadata.yaml index fc84a50a0a13..ddf756156546 100644 --- a/extension/opampextension/metadata.yaml +++ b/extension/opampextension/metadata.yaml @@ -4,7 +4,7 @@ status: class: extension stability: alpha: [extension] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [portertech, evan-bradley, tigrannajaryan, BinaryFissionGames] diff --git a/extension/opampextension/opamp_agent.go b/extension/opampextension/opamp_agent.go index 6e2f6d3f62d2..719e09b4d764 100644 --- a/extension/opampextension/opamp_agent.go +++ b/extension/opampextension/opamp_agent.go @@ -19,18 +19,24 @@ import ( "github.com/open-telemetry/opamp-go/client" "github.com/open-telemetry/opamp-go/client/types" "github.com/open-telemetry/opamp-go/protobufs" + "github.com/shirou/gopsutil/v4/host" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componentstatus" "go.opentelemetry.io/collector/confmap" "go.opentelemetry.io/collector/extension" - semconv "go.opentelemetry.io/collector/semconv/v1.18.0" + "go.opentelemetry.io/collector/extension/extensioncapabilities" + semconv "go.opentelemetry.io/collector/semconv/v1.27.0" "go.uber.org/zap" "golang.org/x/exp/maps" + "golang.org/x/text/cases" + "golang.org/x/text/language" "gopkg.in/yaml.v3" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages" ) +var _ extensioncapabilities.PipelineWatcher = (*opampAgent)(nil) + type opampAgent struct { cfg *Config logger *zap.Logger @@ -59,6 +65,8 @@ type opampAgent struct { } var _ opampcustommessages.CustomCapabilityRegistry = (*opampAgent)(nil) +var _ extensioncapabilities.Dependent = (*opampAgent)(nil) +var _ extensioncapabilities.ConfigWatcher = (*opampAgent)(nil) func (o *opampAgent) Start(ctx context.Context, host component.Host) error { o.reportFunc = func(event *componentstatus.Event) { @@ -81,8 +89,14 @@ func (o *opampAgent) Start(ctx context.Context, host component.Host) error { go monitorPPID(o.lifetimeCtx, o.cfg.PPIDPollInterval, o.cfg.PPID, o.reportFunc) } + headerFunc, err := makeHeadersFunc(o.logger, o.cfg.Server, host) + if err != nil { + return err + } + settings := types.StartSettings{ Header: header, + HeaderFunc: headerFunc, TLSConfig: tls, OpAMPServerURL: o.cfg.Server.GetEndpoint(), InstanceUid: types.InstanceUid(o.instanceID), @@ -112,6 +126,8 @@ func (o *opampAgent) Start(ctx context.Context, host component.Host) error { return err } + o.setHealth(&protobufs.ComponentHealth{Healthy: false}) + o.logger.Debug("Starting OpAMP client...") if err := o.opampClient.Start(context.Background(), settings); err != nil { @@ -132,6 +148,7 @@ func (o *opampAgent) Shutdown(ctx context.Context) error { if o.opampClient == nil { return nil } + o.logger.Debug("Stopping OpAMP client...") err := o.opampClient.Stop(ctx) // Opamp-go considers this an error, but the collector does not. @@ -142,6 +159,21 @@ func (o *opampAgent) Shutdown(ctx context.Context) error { return err } +// Dependencies implements extensioncapabilities.Dependent +func (o *opampAgent) Dependencies() []component.ID { + if o.cfg.Server == nil { + return nil + } + + var emptyComponentID component.ID + authID := o.cfg.Server.GetAuthExtensionID() + if authID == emptyComponentID { + return nil + } + + return []component.ID{authID} +} + func (o *opampAgent) NotifyConfig(ctx context.Context, conf *confmap.Conf) error { if o.capabilities.ReportsEffectiveConfig { o.updateEffectiveConfig(conf) @@ -154,6 +186,16 @@ func (o *opampAgent) Register(capability string, opts ...opampcustommessages.Cus return o.customCapabilityRegistry.Register(capability, opts...) } +func (o *opampAgent) Ready() error { + o.setHealth(&protobufs.ComponentHealth{Healthy: true}) + return nil +} + +func (o *opampAgent) NotReady() error { + o.setHealth(&protobufs.ComponentHealth{Healthy: false}) + return nil +} + func (o *opampAgent) updateEffectiveConfig(conf *confmap.Conf) { o.eclk.Lock() defer o.eclk.Unlock() @@ -239,6 +281,7 @@ func (o *opampAgent) createAgentDescription() error { if err != nil { return err } + description := getOSDescription(o.logger) ident := []*protobufs.KeyValue{ stringKeyValue(semconv.AttributeServiceInstanceID, o.instanceID.String()), @@ -252,6 +295,7 @@ func (o *opampAgent) createAgentDescription() error { nonIdentifyingAttributeMap[semconv.AttributeOSType] = runtime.GOOS nonIdentifyingAttributeMap[semconv.AttributeHostArch] = runtime.GOARCH nonIdentifyingAttributeMap[semconv.AttributeHostName] = hostname + nonIdentifyingAttributeMap[semconv.AttributeOSDescription] = description for k, v := range o.cfg.AgentDescription.NonIdentifyingAttributes { nonIdentifyingAttributeMap[k] = v @@ -320,3 +364,29 @@ func (o *opampAgent) onMessage(_ context.Context, msg *types.MessageData) { o.customCapabilityRegistry.ProcessMessage(msg.CustomMessage) } } + +func (o *opampAgent) setHealth(ch *protobufs.ComponentHealth) { + if o.capabilities.ReportsHealth && o.opampClient != nil { + if err := o.opampClient.SetHealth(ch); err != nil { + o.logger.Error("Could not report health to OpAMP server", zap.Error(err)) + } + } +} + +func getOSDescription(logger *zap.Logger) string { + info, err := host.Info() + if err != nil { + logger.Error("failed getting host info", zap.Error(err)) + return runtime.GOOS + } + switch runtime.GOOS { + case "darwin": + return "macOS " + info.PlatformVersion + case "linux": + return cases.Title(language.English).String(info.Platform) + " " + info.PlatformVersion + case "windows": + return info.Platform + " " + info.PlatformVersion + default: + return runtime.GOOS + } +} diff --git a/extension/opampextension/opamp_agent_test.go b/extension/opampextension/opamp_agent_test.go index 49e9c0ef618f..a0f18d8f778e 100644 --- a/extension/opampextension/opamp_agent_test.go +++ b/extension/opampextension/opamp_agent_test.go @@ -18,7 +18,8 @@ import ( "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/confmap/confmaptest" "go.opentelemetry.io/collector/extension/extensiontest" - semconv "go.opentelemetry.io/collector/semconv/v1.18.0" + semconv "go.opentelemetry.io/collector/semconv/v1.27.0" + "go.uber.org/zap" ) func TestNewOpampAgent(t *testing.T) { @@ -31,6 +32,7 @@ func TestNewOpampAgent(t *testing.T) { assert.Equal(t, "test version", o.agentVersion) assert.NotEmpty(t, o.instanceID.String()) assert.True(t, o.capabilities.ReportsEffectiveConfig) + assert.True(t, o.capabilities.ReportsHealth) assert.Empty(t, o.effectiveConfig) assert.Nil(t, o.agentDescription) } @@ -52,6 +54,7 @@ func TestNewOpampAgentAttributes(t *testing.T) { func TestCreateAgentDescription(t *testing.T) { hostname, err := os.Hostname() require.NoError(t, err) + description := getOSDescription(zap.NewNop()) serviceName := "otelcol-distrot" serviceVersion := "distro.0" @@ -75,6 +78,7 @@ func TestCreateAgentDescription(t *testing.T) { NonIdentifyingAttributes: []*protobufs.KeyValue{ stringKeyValue(semconv.AttributeHostArch, runtime.GOARCH), stringKeyValue(semconv.AttributeHostName, hostname), + stringKeyValue(semconv.AttributeOSDescription, description), stringKeyValue(semconv.AttributeOSType, runtime.GOOS), }, }, @@ -98,6 +102,7 @@ func TestCreateAgentDescription(t *testing.T) { stringKeyValue(semconv.AttributeHostArch, runtime.GOARCH), stringKeyValue(semconv.AttributeHostName, hostname), stringKeyValue(semconv.AttributeK8SPodName, "my-very-cool-pod"), + stringKeyValue(semconv.AttributeOSDescription, description), stringKeyValue(semconv.AttributeOSType, runtime.GOOS), }, }, @@ -118,6 +123,7 @@ func TestCreateAgentDescription(t *testing.T) { NonIdentifyingAttributes: []*protobufs.KeyValue{ stringKeyValue(semconv.AttributeHostArch, runtime.GOARCH), stringKeyValue(semconv.AttributeHostName, "override-host"), + stringKeyValue(semconv.AttributeOSDescription, description), stringKeyValue(semconv.AttributeOSType, runtime.GOOS), }, }, @@ -240,3 +246,40 @@ func TestParseInstanceIDString(t *testing.T) { }) } } + +func TestOpAMPAgent_Dependencies(t *testing.T) { + t.Run("No server specified", func(t *testing.T) { + o := opampAgent{ + cfg: &Config{}, + } + + require.Nil(t, o.Dependencies()) + }) + + t.Run("No auth extension specified", func(t *testing.T) { + o := opampAgent{ + cfg: &Config{ + Server: &OpAMPServer{ + WS: &commonFields{}, + }, + }, + } + + require.Nil(t, o.Dependencies()) + }) + + t.Run("auth extension specified", func(t *testing.T) { + authID := component.MustNewID("basicauth") + o := opampAgent{ + cfg: &Config{ + Server: &OpAMPServer{ + WS: &commonFields{ + Auth: authID, + }, + }, + }, + } + + require.Equal(t, []component.ID{authID}, o.Dependencies()) + }) +} diff --git a/extension/pprofextension/README.md b/extension/pprofextension/README.md index d8558017e602..8bf5ac999f32 100644 --- a/extension/pprofextension/README.md +++ b/extension/pprofextension/README.md @@ -4,13 +4,14 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [core], [contrib] | +| Distributions | [core], [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fpprof%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fpprof) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fpprof%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fpprof) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@MovieStoreGuy](https://www.github.com/MovieStoreGuy) | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s Performance Profiler extension enables the golang `net/http/pprof` endpoint. diff --git a/extension/pprofextension/factory_test.go b/extension/pprofextension/factory_test.go index d8c3e989a2b3..dd69c2f2d0a2 100644 --- a/extension/pprofextension/factory_test.go +++ b/extension/pprofextension/factory_test.go @@ -29,7 +29,7 @@ func TestFactory_CreateDefaultConfig(t *testing.T) { require.NotNil(t, ext) } -func TestFactory_CreateExtension(t *testing.T) { +func TestFactory_Create(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.TCPAddr.Endpoint = testutil.GetAvailableLocalAddress(t) diff --git a/extension/pprofextension/generated_component_test.go b/extension/pprofextension/generated_component_test.go index b23b725f97fb..a2f17ecb02a6 100644 --- a/extension/pprofextension/generated_component_test.go +++ b/extension/pprofextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/pprofextension/go.mod b/extension/pprofextension/go.mod index 7183c83c2f33..af5c1a809099 100644 --- a/extension/pprofextension/go.mod +++ b/extension/pprofextension/go.mod @@ -3,55 +3,47 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprof go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/pprofextension/go.sum b/extension/pprofextension/go.sum index f09914c095c6..e10bee1ed835 100644 --- a/extension/pprofextension/go.sum +++ b/extension/pprofextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -9,8 +5,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -21,8 +17,6 @@ github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKe github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -33,58 +27,46 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -100,20 +82,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -122,12 +104,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/pprofextension/metadata.yaml b/extension/pprofextension/metadata.yaml index f9cefb4d9e17..e5a2e11bb57c 100644 --- a/extension/pprofextension/metadata.yaml +++ b/extension/pprofextension/metadata.yaml @@ -4,7 +4,7 @@ status: class: extension stability: beta: [extension] - distributions: [core, contrib] + distributions: [core, contrib, k8s] codeowners: active: [MovieStoreGuy] diff --git a/extension/remotetapextension/generated_component_test.go b/extension/remotetapextension/generated_component_test.go index 9fed9f02b66e..4cb79077b26a 100644 --- a/extension/remotetapextension/generated_component_test.go +++ b/extension/remotetapextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/remotetapextension/go.mod b/extension/remotetapextension/go.mod index 18a7de700784..d313701b473c 100644 --- a/extension/remotetapextension/go.mod +++ b/extension/remotetapextension/go.mod @@ -4,65 +4,56 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/component/componentstatus v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/remotetapextension/go.sum b/extension/remotetapextension/go.sum index 35f30d70e693..ce2371a22687 100644 --- a/extension/remotetapextension/go.sum +++ b/extension/remotetapextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -13,8 +9,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -23,14 +19,12 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -41,8 +35,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,74 +43,62 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -134,20 +114,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -158,10 +138,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/sigv4authextension/factory_test.go b/extension/sigv4authextension/factory_test.go index 58869d77778e..f20b32e484c9 100644 --- a/extension/sigv4authextension/factory_test.go +++ b/extension/sigv4authextension/factory_test.go @@ -20,7 +20,7 @@ func TestNewFactory(t *testing.T) { assert.Equal(t, f.CreateDefaultConfig().(*Config), cfg) ext, _ := createExtension(context.Background(), extensiontest.NewNopSettings(), cfg) - fext, _ := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + fext, _ := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) assert.Equal(t, fext, ext) } @@ -30,7 +30,7 @@ func TestCreateDefaultConfig(t *testing.T) { assert.NoError(t, componenttest.CheckConfigStruct(cfg)) } -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { cfg := createDefaultConfig().(*Config) ext, err := createExtension(context.Background(), extensiontest.NewNopSettings(), cfg) diff --git a/extension/sigv4authextension/generated_component_test.go b/extension/sigv4authextension/generated_component_test.go index fa17194c4acf..88d936026d41 100644 --- a/extension/sigv4authextension/generated_component_test.go +++ b/extension/sigv4authextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/sigv4authextension/generated_package_test.go b/extension/sigv4authextension/generated_package_test.go index 8abc67be2c27..c0fd1a7c3d93 100644 --- a/extension/sigv4authextension/generated_package_test.go +++ b/extension/sigv4authextension/generated_package_test.go @@ -9,5 +9,5 @@ import ( ) func TestMain(m *testing.M) { - goleak.VerifyTestMain(m) + goleak.VerifyTestMain(m, goleak.IgnoreTopFunction("net/http.(*persistConn).writeLoop"), goleak.IgnoreTopFunction("internal/poll.runtime_pollWait")) } diff --git a/extension/sigv4authextension/go.mod b/extension/sigv4authextension/go.mod index 6a6ddbdcce09..c7a14084a9a8 100644 --- a/extension/sigv4authextension/go.mod +++ b/extension/sigv4authextension/go.mod @@ -3,64 +3,55 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4 go 1.22.0 require ( - github.com/aws/aws-sdk-go-v2 v1.30.4 - github.com/aws/aws-sdk-go-v2/config v1.27.31 - github.com/aws/aws-sdk-go-v2/credentials v1.17.30 - github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 + github.com/aws/aws-sdk-go-v2 v1.32.3 + github.com/aws/aws-sdk-go-v2/config v1.28.1 + github.com/aws/aws-sdk-go-v2/credentials v1.17.42 + github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect - github.com/aws/smithy-go v1.20.4 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 // indirect + github.com/aws/smithy-go v1.22.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/sigv4authextension/go.sum b/extension/sigv4authextension/go.sum index 89d2e1ce1a3a..5020ec8dbe92 100644 --- a/extension/sigv4authextension/go.sum +++ b/extension/sigv4authextension/go.sum @@ -1,33 +1,29 @@ -github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8= -github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0= -github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI= -github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q= -github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs= +github.com/aws/aws-sdk-go-v2 v1.32.3 h1:T0dRlFBKcdaUPGNtkBSwHZxrtis8CQU17UpNBZYd0wk= +github.com/aws/aws-sdk-go-v2 v1.32.3/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo= +github.com/aws/aws-sdk-go-v2/config v1.28.1 h1:oxIvOUXy8x0U3fR//0eq+RdCKimWI900+SV+10xsCBw= +github.com/aws/aws-sdk-go-v2/config v1.28.1/go.mod h1:bRQcttQJiARbd5JZxw6wG0yIK3eLeSCPdg6uqmmlIiI= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42 h1:sBP0RPjBU4neGpIYyx8mkU2QqLPl5u9cmdTWVzIpHkM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.42/go.mod h1:FwZBfU530dJ26rv9saAbxa9Ej3eF/AK0OAY86k13n4M= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 h1:68jFVtt3NulEzojFesM/WVarlFpCaXLKaBxDpzkQ9OQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18/go.mod h1:Fjnn5jQVIo6VyedMc0/EhPpfNlPl7dHV916O6B+49aE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 h1:Jw50LwEkVjuVzE1NzkhNKkBf9cRN7MtE1F/b2cOKTUM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22/go.mod h1:Y/SmAyPcOTmpeVaWSzSKiILfXTVJwrGmYZhcRbhWuEY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 h1:981MHwBaRZM7+9QSR6XamDzF/o7ouUGxFzr+nVSIhrs= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22/go.mod h1:1RA1+aBEfn+CAB/Mh0MB6LsdCYCnjZm7tKXtnk499ZQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c= -github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8= -github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0= -github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4= -github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 h1:qcxX0JYlgWH3hpPUnd6U0ikcl6LLA9sLkXE2w1fpMvY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3/go.mod h1:cLSNEmI45soc+Ef8K/L+8sEA3A3pYFEYf5B5UI+6bH4= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 h1:UTpsIf0loCIWEbrqdLb+0RxnTXfWh2vhw4nQmFi4nPc= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.3/go.mod h1:FZ9j3PFHHAR+w0BSEjK955w5YD2UwB/l/H0yAK3MJvI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 h1:2YCmIXv3tmiItw0LlYf6v7gEHebLY45kBEnPezbUKyU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3/go.mod h1:u19stRyNPxGhj6dRm+Cdgu6N75qnbW7+QN0q0dsAk58= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 h1:wVnQ6tigGsRqSWDEEyH6lSAJ9OyFUsSnbaUWChuSGzs= +github.com/aws/aws-sdk-go-v2/service/sts v1.32.3/go.mod h1:VZa9yTFyj4o10YGsmDO4gbQJUvvhY72fhumT8W4LqsE= +github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM= +github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -35,8 +31,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -45,8 +41,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -57,54 +51,40 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -120,20 +100,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -142,12 +122,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/sigv4authextension/metadata.yaml b/extension/sigv4authextension/metadata.yaml index 4cd6bc99acbf..fadb221d0d2a 100644 --- a/extension/sigv4authextension/metadata.yaml +++ b/extension/sigv4authextension/metadata.yaml @@ -10,4 +10,9 @@ status: active: [Aneurysm9, erichsueh3] tests: + goleak: + ignore: + top: + - "net/http.(*persistConn).writeLoop" + - "internal/poll.runtime_pollWait" config: diff --git a/extension/solarwindsapmsettingsextension/extension.go b/extension/solarwindsapmsettingsextension/extension.go index 0ec7dd130a2c..9e81b1cadb8e 100644 --- a/extension/solarwindsapmsettingsextension/extension.go +++ b/extension/solarwindsapmsettingsextension/extension.go @@ -16,6 +16,7 @@ import ( "github.com/solarwindscloud/apm-proto/go/collectorpb" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/extension" "go.uber.org/zap" "google.golang.org/grpc" @@ -51,7 +52,7 @@ func (extension *solarwindsapmSettingsExtension) Start(_ context.Context, host c if err != nil { return err } - extension.conn, err = extension.config.ClientConfig.ToClientConn(ctx, host, extension.telemetrySettings, grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{RootCAs: systemCertPool}))) + extension.conn, err = extension.config.ClientConfig.ToClientConn(ctx, host, extension.telemetrySettings, configgrpc.WithGrpcDialOption(grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{RootCAs: systemCertPool})))) if err != nil { return err } diff --git a/extension/solarwindsapmsettingsextension/extension_test.go b/extension/solarwindsapmsettingsextension/extension_test.go index 3b8278e12048..247101805f26 100644 --- a/extension/solarwindsapmsettingsextension/extension_test.go +++ b/extension/solarwindsapmsettingsextension/extension_test.go @@ -22,7 +22,7 @@ import ( "go.uber.org/zap/zaptest/observer" ) -func TestCreateExtension(t *testing.T) { +func TestCreate(t *testing.T) { t.Parallel() tests := []struct { diff --git a/extension/solarwindsapmsettingsextension/generated_component_test.go b/extension/solarwindsapmsettingsextension/generated_component_test.go index 26e58b52fae0..8ad1f10bfabb 100644 --- a/extension/solarwindsapmsettingsextension/generated_component_test.go +++ b/extension/solarwindsapmsettingsextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/solarwindsapmsettingsextension/go.mod b/extension/solarwindsapmsettingsextension/go.mod index 94a1d36cda99..1180f66b8d4c 100644 --- a/extension/solarwindsapmsettingsextension/go.mod +++ b/extension/solarwindsapmsettingsextension/go.mod @@ -4,28 +4,25 @@ go 1.22.0 require ( github.com/google/uuid v1.6.0 - github.com/solarwindscloud/apm-proto v1.0.7 + github.com/solarwindscloud/apm-proto v1.0.8 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configgrpc v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect @@ -33,37 +30,29 @@ require ( github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/stretchr/objx v0.5.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/solarwindsapmsettingsextension/go.sum b/extension/solarwindsapmsettingsextension/go.sum index 0988746712a0..edac71e7b13a 100644 --- a/extension/solarwindsapmsettingsextension/go.sum +++ b/extension/solarwindsapmsettingsextension/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -11,8 +7,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -21,8 +17,6 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -39,8 +33,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -51,80 +43,64 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/solarwindscloud/apm-proto v1.0.7 h1:7vJWXKjMwCv4Ej1niRQr8nGKLBoBtDXLMM9p5v7mW+I= -github.com/solarwindscloud/apm-proto v1.0.7/go.mod h1:PIMzXc8HpB0ryT4Oci4pUz8F0m1X7Q/hVXkQE4jGv6Y= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/solarwindscloud/apm-proto v1.0.8 h1:a5A0s+5RmMB6LNBs32qQ+oL26rltw5b2cbUhqhJPne0= +github.com/solarwindscloud/apm-proto v1.0.8/go.mod h1:PIMzXc8HpB0ryT4Oci4pUz8F0m1X7Q/hVXkQE4jGv6Y= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.1 h1:/XbunfZ+/jt1+d1p4zM4vZ/AgeaIJsayjYdlN1fV+tk= -go.opentelemetry.io/collector/pdata/pprofile v0.108.1/go.mod h1:/GvG2WcN9Dajlw4QaIOjgz7N32wSfPL3qxJ0BKOcVPo= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -140,20 +116,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -162,12 +138,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/storage/dbstorage/extension_test.go b/extension/storage/dbstorage/extension_test.go index fbba0af21cfa..ad10c04899c0 100644 --- a/extension/storage/dbstorage/extension_test.go +++ b/extension/storage/dbstorage/extension_test.go @@ -103,7 +103,7 @@ func newTestExtension(t *testing.T) storage.Extension { cfg.DriverName = "sqlite3" cfg.DataSource = fmt.Sprintf("file:%s/foo.db?_busy_timeout=10000&_journal=WAL&_sync=NORMAL", t.TempDir()) - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) diff --git a/extension/storage/dbstorage/generated_component_test.go b/extension/storage/dbstorage/generated_component_test.go index 721a54f8ceec..44bc999620df 100644 --- a/extension/storage/dbstorage/generated_component_test.go +++ b/extension/storage/dbstorage/generated_component_test.go @@ -30,7 +30,7 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) diff --git a/extension/storage/dbstorage/go.mod b/extension/storage/dbstorage/go.mod index 0ec59918ae38..68f489b55657 100644 --- a/extension/storage/dbstorage/go.mod +++ b/extension/storage/dbstorage/go.mod @@ -3,57 +3,48 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/stora go 1.22.0 require ( - github.com/jackc/pgx/v5 v5.6.0 - github.com/mattn/go-sqlite3 v1.14.22 + github.com/jackc/pgx/v5 v5.7.1 + github.com/mattn/go-sqlite3 v1.14.24 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect - github.com/jackc/puddle/v2 v2.2.1 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect + github.com/jackc/puddle/v2 v2.2.2 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.25.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/crypto v0.27.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.18.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/storage/dbstorage/go.sum b/extension/storage/dbstorage/go.sum index cd8ea97f772a..ac2e023928f0 100644 --- a/extension/storage/dbstorage/go.sum +++ b/extension/storage/dbstorage/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -10,8 +6,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -20,16 +16,14 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.6.0 h1:SWJzexBzPL5jb0GEsrPMLIsi/3jOo7RHlzTjcAeDrPY= -github.com/jackc/pgx/v5 v5.6.0/go.mod h1:DNZ/vlrUnhWCoFGxHAG8U2ljioxukquj7utPDgtQdTw= -github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= -github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.7.1 h1:x7SYsPBYDkHDksogeSmZZ5xzThcTgRz++I5E+ePFUcs= +github.com/jackc/pgx/v5 v5.7.1/go.mod h1:e7O26IywZZ+naJtWWos6i6fvWK+29etgITqrqHLfoZA= +github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= +github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -40,26 +34,14 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= -github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM= +github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -69,30 +51,28 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -102,30 +82,30 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= -golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= +golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= +golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -134,12 +114,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/storage/filestorage/README.md b/extension/storage/filestorage/README.md index df13d76111fc..0202539cf9e5 100644 --- a/extension/storage/filestorage/README.md +++ b/extension/storage/filestorage/README.md @@ -4,12 +4,13 @@ | Status | | | ------------- |-----------| | Stability | [beta] | -| Distributions | [contrib] | +| Distributions | [contrib], [k8s] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Ffilestorage%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Ffilestorage) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Ffilestorage%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Ffilestorage) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@djaglowski](https://www.github.com/djaglowski) \| Seeking more code owners! | [beta]: https://github.com/open-telemetry/opentelemetry-collector#beta [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib +[k8s]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-k8s The File Storage extension can persist state to the local file system. @@ -24,6 +25,9 @@ The default timeout is `1s`. `fsync` when set, will force the database to perform an fsync after each write. This helps to ensure database integrity if there is an interruption to the database process, but at the cost of performance. See [DB.NoSync](https://pkg.go.dev/go.etcd.io/bbolt#DB) for more information. +`create_directory` when set, will create the data storage and compaction directory if it does not already exist. The directory will be created with `0750 (rwxr-x--)` permissions, by default. Use `directory_permissions` to customize directory creation permissions. + + ## Compaction `compaction` defines how and when files should be compacted. There are two modes of compaction available (both of which can be set concurrently): - `compaction.on_start` (default: false), which happens when collector starts @@ -124,7 +128,7 @@ following troubleshooting method works for bbolt-managed files. As such, there i When troubleshooting components that use the File Storage extension, it is sometimes helpful to read the raw contents of files created by the extension for the component. The simplest way to read files -created by the File Storage extension is to use the strings utility ([Linux](https://linux.die.net/man/1/strings), +created by the File Storage extension is to use the strings utility ([Linux](https://man7.org/linux/man-pages/man1/strings.1.html), [Windows](https://learn.microsoft.com/en-us/sysinternals/downloads/strings)). For example, here are the contents of the file created by the File Storage extension when it's configured as the storage diff --git a/extension/storage/filestorage/client_test.go b/extension/storage/filestorage/client_test.go index 8717f553b90e..2d524be8560f 100644 --- a/extension/storage/filestorage/client_test.go +++ b/extension/storage/filestorage/client_test.go @@ -79,7 +79,6 @@ func TestClientBatchOperations(t *testing.T) { // Make sure nothing is there err = client.Batch(ctx, testGetEntries...) require.NoError(t, err) - require.Equal(t, testGetEntries, testGetEntries) // Set it err = client.Batch(ctx, testSetEntries...) diff --git a/extension/storage/filestorage/config.go b/extension/storage/filestorage/config.go index 19e288a7655b..8e665d6ad7d8 100644 --- a/extension/storage/filestorage/config.go +++ b/extension/storage/filestorage/config.go @@ -8,9 +8,13 @@ import ( "fmt" "io/fs" "os" + "strconv" "time" ) +var errInvalidOctal = errors.New("directory_permissions value must be a valid octal representation") +var errInvalidPermissionBits = errors.New("directory_permissions contain invalid bits for file access") + // Config defines configuration for file storage extension. type Config struct { Directory string `mapstructure:"directory,omitempty"` @@ -20,6 +24,11 @@ type Config struct { // FSync specifies that fsync should be called after each database write FSync bool `mapstructure:"fsync,omitempty"` + + // CreateDirectory specifies that the directory should be created automatically by the extension on start + CreateDirectory bool `mapstructure:"create_directory,omitempty"` + DirectoryPermissions string `mapstructure:"directory_permissions,omitempty"` + directoryPermissionsParsed int64 `mapstructure:"-,omitempty"` } // CompactionConfig defines configuration for optional file storage compaction. @@ -53,24 +62,22 @@ type CompactionConfig struct { func (cfg *Config) Validate() error { var dirs []string - if cfg.Compaction.OnStart { + if cfg.Compaction.OnStart || cfg.Compaction.OnRebound { dirs = []string{cfg.Directory, cfg.Compaction.Directory} } else { dirs = []string{cfg.Directory} } for _, dir := range dirs { - info, err := os.Stat(dir) - if err != nil { - if os.IsNotExist(err) { - return fmt.Errorf("directory must exist: %w", err) + if info, err := os.Stat(dir); err != nil { + if !cfg.CreateDirectory && os.IsNotExist(err) { + return fmt.Errorf("directory must exist: %w. You can enable the create_directory option to automatically create it", err) } fsErr := &fs.PathError{} - if errors.As(err, &fsErr) { + if errors.As(err, &fsErr) && !os.IsNotExist(err) { return fmt.Errorf("problem accessing configured directory: %s, err: %w", dir, fsErr) } - } - if !info.IsDir() { + } else if !info.IsDir() { return fmt.Errorf("%s is not a directory", dir) } } @@ -83,5 +90,15 @@ func (cfg *Config) Validate() error { return errors.New("compaction check interval must be positive when rebound compaction is set") } + if cfg.CreateDirectory { + permissions, err := strconv.ParseInt(cfg.DirectoryPermissions, 8, 32) + if err != nil { + return errInvalidOctal + } else if permissions&int64(os.ModePerm) != permissions { + return errInvalidPermissionBits + } + cfg.directoryPermissionsParsed = permissions + } + return nil } diff --git a/extension/storage/filestorage/config_test.go b/extension/storage/filestorage/config_test.go index 025bc0eecdb9..e52937dd35e3 100644 --- a/extension/storage/filestorage/config_test.go +++ b/extension/storage/filestorage/config_test.go @@ -10,10 +10,12 @@ import ( "testing" "time" + "github.com/google/uuid" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/confmap/confmaptest" + "go.opentelemetry.io/collector/extension" "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage/internal/metadata" ) @@ -47,8 +49,10 @@ func TestLoadConfig(t *testing.T) { CheckInterval: time.Second * 5, CleanupOnStart: true, }, - Timeout: 2 * time.Second, - FSync: true, + Timeout: 2 * time.Second, + FSync: true, + CreateDirectory: false, + DirectoryPermissions: "0750", }, }, } @@ -95,3 +99,175 @@ func TestHandleProvidingFilePathAsDirWithAnError(t *testing.T) { require.Error(t, err) require.EqualError(t, err, file.Name()+" is not a directory") } +func TestDirectoryCreateConfig(t *testing.T) { + tests := []struct { + name string + config func(*testing.T, extension.Factory) *Config + err error + }{ + { + name: "create directory true - no error", + config: func(t *testing.T, f extension.Factory) *Config { + storageDir := filepath.Join(t.TempDir(), uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = true + return cfg + }, + err: nil, + }, + { + name: "create directory true - no error - 0700 permissions", + config: func(t *testing.T, f extension.Factory) *Config { + storageDir := filepath.Join(t.TempDir(), uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = true + cfg.DirectoryPermissions = "0700" + return cfg + }, + err: nil, + }, + { + name: "create directory false - error", + config: func(t *testing.T, f extension.Factory) *Config { + storageDir := filepath.Join(t.TempDir(), uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = false + return cfg + }, + err: os.ErrNotExist, + }, + { + name: "create directory true - invalid permissions", + config: func(t *testing.T, f extension.Factory) *Config { + storageDir := filepath.Join(t.TempDir(), uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = true + cfg.DirectoryPermissions = "invalid string" + return cfg + }, + err: errInvalidOctal, + }, + { + name: "create directory true - rwxr--r-- (should be octal string)", + config: func(t *testing.T, f extension.Factory) *Config { + storageDir := filepath.Join(t.TempDir(), uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = true + cfg.DirectoryPermissions = "rwxr--r--" + return cfg + }, + err: errInvalidOctal, + }, + { + name: "create directory true - 0778 (invalid octal)", + config: func(t *testing.T, f extension.Factory) *Config { + storageDir := filepath.Join(t.TempDir(), uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = true + cfg.DirectoryPermissions = "0778" + return cfg + }, + err: errInvalidOctal, + }, + { + name: "create directory true - 07771 (invalid permission bits)", + config: func(t *testing.T, f extension.Factory) *Config { + storageDir := filepath.Join(t.TempDir(), uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = true + cfg.DirectoryPermissions = "07771" + return cfg + }, + err: errInvalidPermissionBits, + }, + { + name: "create directory false - 07771 (invalid string) - no error", + config: func(t *testing.T, f extension.Factory) *Config { + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = t.TempDir() + cfg.CreateDirectory = false + cfg.DirectoryPermissions = "07771" + return cfg + + }, + err: nil, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f := NewFactory() + config := tt.config(t, f) + require.ErrorIs(t, config.Validate(), tt.err) + }) + } +} + +func TestCompactionDirectory(t *testing.T) { + f := NewFactory() + tests := []struct { + name string + config func(*testing.T) *Config + err error + }{ + { + name: "directory-must-exists-error", + config: func(t *testing.T) *Config { + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = t.TempDir() // actual directory + cfg.Compaction.Directory = "/not/a/dir" // not a directory + cfg.Compaction.OnRebound = true + cfg.Compaction.OnStart = true + return cfg + }, + err: os.ErrNotExist, + }, + { + name: "directory-must-exists-error-on-start", + config: func(t *testing.T) *Config { + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = t.TempDir() // actual directory + cfg.Compaction.Directory = "/not/a/dir" // not a directory + cfg.Compaction.OnRebound = false + cfg.Compaction.OnStart = true + return cfg + }, + err: os.ErrNotExist, + }, + { + name: "directory-must-exists-error-on-rebound", + config: func(t *testing.T) *Config { + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = t.TempDir() // actual directory + cfg.Compaction.Directory = "/not/a/dir" // not a directory + cfg.Compaction.OnRebound = true + cfg.Compaction.OnStart = false + return cfg + }, + err: os.ErrNotExist, + }, + { + name: "compaction-disabled-no-error", + config: func(t *testing.T) *Config { + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = t.TempDir() // actual directory + cfg.Compaction.Directory = "/not/a/dir" // not a directory + cfg.Compaction.OnRebound = false + cfg.Compaction.OnStart = false + return cfg + }, + err: nil, + }, + } + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + require.ErrorIs(t, component.ValidateConfig(test.config(t)), test.err) + }) + } +} diff --git a/extension/storage/filestorage/extension.go b/extension/storage/filestorage/extension.go index f9d0467accbf..4b8650892359 100644 --- a/extension/storage/filestorage/extension.go +++ b/extension/storage/filestorage/extension.go @@ -26,6 +26,19 @@ type localFileStorage struct { var _ storage.Extension = (*localFileStorage)(nil) func newLocalFileStorage(logger *zap.Logger, config *Config) (extension.Extension, error) { + if config.CreateDirectory { + var dirs []string + if config.Compaction.OnStart || config.Compaction.OnRebound { + dirs = []string{config.Directory, config.Compaction.Directory} + } else { + dirs = []string{config.Directory} + } + for _, dir := range dirs { + if err := ensureDirectoryExists(dir, os.FileMode(config.directoryPermissionsParsed)); err != nil { + return nil, err + } + } + } return &localFileStorage{ cfg: config, logger: logger, @@ -129,6 +142,14 @@ func isSafe(character rune) bool { return false } +func ensureDirectoryExists(path string, perm os.FileMode) error { + if _, err := os.Stat(path); os.IsNotExist(err) { + return os.MkdirAll(path, perm) + } + // we already handled other errors in config.Validate(), so it's okay to return nil + return nil +} + // cleanup left compaction temporary files from previous killed process func (lfs *localFileStorage) cleanup(compactionDirectory string) error { pattern := filepath.Join(compactionDirectory, fmt.Sprintf("%s*", TempDbPrefix)) diff --git a/extension/storage/filestorage/extension_test.go b/extension/storage/filestorage/extension_test.go index afd15f0873f4..bb6f779bd6b2 100644 --- a/extension/storage/filestorage/extension_test.go +++ b/extension/storage/filestorage/extension_test.go @@ -8,13 +8,16 @@ import ( "fmt" "os" "path/filepath" + "runtime" "sync" "testing" + "github.com/google/uuid" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/extension" "go.opentelemetry.io/collector/extension/experimental/storage" "go.opentelemetry.io/collector/extension/extensiontest" "go.uber.org/zap" @@ -231,7 +234,7 @@ func TestComponentNameWithUnsafeCharacters(t *testing.T) { cfg := f.CreateDefaultConfig().(*Config) cfg.Directory = tempDir - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) @@ -259,7 +262,7 @@ func TestGetClientErrorsOnDeletedDirectory(t *testing.T) { cfg := f.CreateDefaultConfig().(*Config) cfg.Directory = tempDir - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) @@ -285,7 +288,7 @@ func newTestExtension(t *testing.T) storage.Extension { cfg := f.CreateDefaultConfig().(*Config) cfg.Directory = t.TempDir() - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) @@ -307,7 +310,7 @@ func TestCompaction(t *testing.T) { cfg := f.CreateDefaultConfig().(*Config) cfg.Directory = tempDir - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) @@ -397,7 +400,7 @@ func TestCompactionRemoveTemp(t *testing.T) { cfg := f.CreateDefaultConfig().(*Config) cfg.Directory = tempDir - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) @@ -465,7 +468,7 @@ func TestCleanupOnStart(t *testing.T) { cfg.Directory = tempDir cfg.Compaction.Directory = tempDir cfg.Compaction.CleanupOnStart = true - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) @@ -505,7 +508,7 @@ func TestCompactionOnStart(t *testing.T) { cfg.Directory = tempDir cfg.Compaction.Directory = tempDir cfg.Compaction.OnStart = true - extension, err := f.CreateExtension(context.Background(), set, cfg) + extension, err := f.Create(context.Background(), set, cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) @@ -525,3 +528,89 @@ func TestCompactionOnStart(t *testing.T) { require.NoError(t, client.Close(context.TODO())) }) } + +func TestDirectoryCreation(t *testing.T) { + tests := []struct { + name string + config func(*testing.T, extension.Factory) *Config + validate func(*testing.T, *Config) + }{ + { + name: "create directory true - no error", + config: func(t *testing.T, f extension.Factory) *Config { + tempDir := t.TempDir() + storageDir := filepath.Join(tempDir, uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = true + cfg.DirectoryPermissions = "0750" + require.NoError(t, cfg.Validate()) + return cfg + }, + validate: func(t *testing.T, cfg *Config) { + require.DirExists(t, cfg.Directory) + s, err := os.Stat(cfg.Directory) + require.NoError(t, err) + var expectedFileMode os.FileMode + if runtime.GOOS == "windows" { // on Windows, we get 0777 for writable directories + expectedFileMode = os.FileMode(0777) + } else { + expectedFileMode = os.FileMode(0750) + } + require.Equal(t, expectedFileMode, s.Mode()&os.ModePerm) + }, + }, + { + name: "create directory true - no error - 0700 permissions", + config: func(t *testing.T, f extension.Factory) *Config { + tempDir := t.TempDir() + storageDir := filepath.Join(tempDir, uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.DirectoryPermissions = "0700" + cfg.CreateDirectory = true + require.NoError(t, cfg.Validate()) + return cfg + }, + validate: func(t *testing.T, cfg *Config) { + require.DirExists(t, cfg.Directory) + s, err := os.Stat(cfg.Directory) + require.NoError(t, err) + var expectedFileMode os.FileMode + if runtime.GOOS == "windows" { // on Windows, we get 0777 for writable directories + expectedFileMode = os.FileMode(0777) + } else { + expectedFileMode = os.FileMode(0700) + } + require.Equal(t, expectedFileMode, s.Mode()&os.ModePerm) + }, + }, + { + name: "create directory false - error", + config: func(t *testing.T, f extension.Factory) *Config { + tempDir := t.TempDir() + storageDir := filepath.Join(tempDir, uuid.NewString()) + cfg := f.CreateDefaultConfig().(*Config) + cfg.Directory = storageDir + cfg.CreateDirectory = false + require.ErrorIs(t, cfg.Validate(), os.ErrNotExist) + return cfg + }, + validate: func(t *testing.T, cfg *Config) { + require.NoDirExists(t, cfg.Directory) + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f := NewFactory() + config := tt.config(t, f) + if config != nil { + ext, err := f.Create(context.Background(), extensiontest.NewNopSettings(), config) + require.NoError(t, err) + require.NotNil(t, ext) + tt.validate(t, config) + } + }) + } +} diff --git a/extension/storage/filestorage/factory.go b/extension/storage/filestorage/factory.go index 130647a5b62d..68bc845e680e 100644 --- a/extension/storage/filestorage/factory.go +++ b/extension/storage/filestorage/factory.go @@ -47,8 +47,10 @@ func createDefaultConfig() component.Config { CheckInterval: defaultCompactionInterval, CleanupOnStart: false, }, - Timeout: time.Second, - FSync: false, + Timeout: time.Second, + FSync: false, + CreateDirectory: false, + DirectoryPermissions: "0750", } } diff --git a/extension/storage/filestorage/factory_test.go b/extension/storage/filestorage/factory_test.go index 875a18fec092..a770df0ef669 100644 --- a/extension/storage/filestorage/factory_test.go +++ b/extension/storage/filestorage/factory_test.go @@ -50,7 +50,7 @@ func TestFactory(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { - e, err := f.CreateExtension( + e, err := f.Create( context.Background(), extensiontest.NewNopSettings(), test.config, diff --git a/extension/storage/filestorage/generated_component_test.go b/extension/storage/filestorage/generated_component_test.go index eca2ecedbf02..4527048a7be4 100644 --- a/extension/storage/filestorage/generated_component_test.go +++ b/extension/storage/filestorage/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/storage/filestorage/go.mod b/extension/storage/filestorage/go.mod index 88ce1f0e6ee7..775e89d93147 100644 --- a/extension/storage/filestorage/go.mod +++ b/extension/storage/filestorage/go.mod @@ -3,52 +3,43 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/stora go 1.22.0 require ( + github.com/google/uuid v1.6.0 github.com/stretchr/testify v1.9.0 go.etcd.io/bbolt v1.3.11 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) -require github.com/go-viper/mapstructure/v2 v2.1.0 // indirect +require github.com/go-viper/mapstructure/v2 v2.2.1 // indirect require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/storage/filestorage/go.sum b/extension/storage/filestorage/go.sum index 664aa941c986..d61b7e044593 100644 --- a/extension/storage/filestorage/go.sum +++ b/extension/storage/filestorage/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -9,8 +5,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -19,8 +15,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -31,24 +25,12 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= @@ -57,30 +39,28 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -96,22 +76,22 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -120,12 +100,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/storage/filestorage/metadata.yaml b/extension/storage/filestorage/metadata.yaml index 59d4e666a714..6953a45f1019 100644 --- a/extension/storage/filestorage/metadata.yaml +++ b/extension/storage/filestorage/metadata.yaml @@ -4,7 +4,7 @@ status: class: extension stability: beta: [extension] - distributions: [contrib] + distributions: [contrib, k8s] codeowners: active: [djaglowski] seeking_new: true diff --git a/extension/storage/go.mod b/extension/storage/go.mod index d15d82714ba3..ab61dabf53b5 100644 --- a/extension/storage/go.mod +++ b/extension/storage/go.mod @@ -4,49 +4,33 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/storage/go.sum b/extension/storage/go.sum index a18ab8755b50..67d63af8ae5a 100644 --- a/extension/storage/go.sum +++ b/extension/storage/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -9,8 +5,6 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -19,66 +13,38 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -94,20 +60,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -116,12 +82,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/storage/redisstorageextension/extension_test.go b/extension/storage/redisstorageextension/extension_test.go index 6bc3bef61008..f4e025d5d7de 100644 --- a/extension/storage/redisstorageextension/extension_test.go +++ b/extension/storage/redisstorageextension/extension_test.go @@ -190,7 +190,7 @@ func newTestExtension(t *testing.T) storage.Extension { f := NewFactory() cfg := f.CreateDefaultConfig().(*Config) - extension, err := f.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + extension, err := f.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) se, ok := extension.(storage.Extension) diff --git a/extension/storage/redisstorageextension/factory_test.go b/extension/storage/redisstorageextension/factory_test.go index 3991743ff0ed..3494cd85fa04 100644 --- a/extension/storage/redisstorageextension/factory_test.go +++ b/extension/storage/redisstorageextension/factory_test.go @@ -31,7 +31,7 @@ func TestFactory(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { - e, err := f.CreateExtension( + e, err := f.Create( context.Background(), extensiontest.NewNopSettings(), test.config, diff --git a/extension/storage/redisstorageextension/generated_component_test.go b/extension/storage/redisstorageextension/generated_component_test.go index c49f68f6fff4..354ba991ed7e 100644 --- a/extension/storage/redisstorageextension/generated_component_test.go +++ b/extension/storage/redisstorageextension/generated_component_test.go @@ -30,18 +30,18 @@ func TestComponentLifecycle(t *testing.T) { require.NoError(t, err) require.NoError(t, sub.Unmarshal(&cfg)) t.Run("shutdown", func(t *testing.T) { - e, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + e, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) err = e.Shutdown(context.Background()) require.NoError(t, err) }) t.Run("lifecycle", func(t *testing.T) { - firstExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + firstExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, firstExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, firstExt.Shutdown(context.Background())) - secondExt, err := factory.CreateExtension(context.Background(), extensiontest.NewNopSettings(), cfg) + secondExt, err := factory.Create(context.Background(), extensiontest.NewNopSettings(), cfg) require.NoError(t, err) require.NoError(t, secondExt.Start(context.Background(), componenttest.NewNopHost())) require.NoError(t, secondExt.Shutdown(context.Background())) diff --git a/extension/storage/redisstorageextension/go.mod b/extension/storage/redisstorageextension/go.mod index edc58e20a15c..3c264a7eec77 100644 --- a/extension/storage/redisstorageextension/go.mod +++ b/extension/storage/redisstorageextension/go.mod @@ -3,53 +3,45 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/extension/stora go 1.22.0 require ( - github.com/redis/go-redis/v9 v9.6.1 + github.com/redis/go-redis/v9 v9.7.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/storage/redisstorageextension/go.sum b/extension/storage/redisstorageextension/go.sum index 6d300726a13e..cc184c42e320 100644 --- a/extension/storage/redisstorageextension/go.sum +++ b/extension/storage/redisstorageextension/go.sum @@ -1,5 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= @@ -15,8 +13,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -25,8 +23,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -37,58 +33,44 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4= -github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= +github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E= +github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -104,20 +86,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -126,12 +108,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/extension/sumologicextension/extension_test.go b/extension/sumologicextension/extension_test.go index fd09a1b64f0b..03331154dcd3 100644 --- a/extension/sumologicextension/extension_test.go +++ b/extension/sumologicextension/extension_test.go @@ -100,7 +100,7 @@ func TestBasicStart(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) _, err := w.Write([]byte(`{ "collectorCredentialID": "collectorId", "collectorCredentialKey": "collectorKey", @@ -162,7 +162,7 @@ func TestStoreCredentials(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) _, err := w.Write([]byte(`{ "collectorCredentialID": "collectorId", "collectorCredentialKey": "collectorKey", @@ -317,12 +317,12 @@ func TestStoreCredentials_PreexistingCredentialsAreUsed(t *testing.T) { switch reqNum { // heartbeat case 1: - require.Equal(t, heartbeatURL, req.URL.Path) + assert.Equal(t, heartbeatURL, req.URL.Path) w.WriteHeader(204) // metadata case 2: - require.Equal(t, metadataURL, req.URL.Path) + assert.Equal(t, metadataURL, req.URL.Path) w.WriteHeader(200) // should not produce any more requests @@ -405,7 +405,7 @@ func TestLocalFSCredentialsStore_WorkCorrectlyForMultipleExtensions(t *testing.T // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) _, err := w.Write([]byte(`{ "collectorCredentialID": "collectorId", "collectorCredentialKey": "collectorKey", @@ -509,7 +509,7 @@ func TestRegisterEmptyCollectorName(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -578,7 +578,7 @@ func TestRegisterEmptyCollectorNameForceRegistration(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -601,7 +601,7 @@ func TestRegisterEmptyCollectorNameForceRegistration(t *testing.T) { // register again because force registration was set case 3: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -672,7 +672,7 @@ func TestCollectorSendsBasicAuthHeadersOnRegistration(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -776,7 +776,7 @@ func TestCollectorCheckingCredentialsFoundInLocalStorage(t *testing.T) { // heatbeat case 1: - require.NotEqual(t, registerURL, req.URL.Path, + assert.NotEqual(t, registerURL, req.URL.Path, "collector shouldn't call the register API when credentials locally retrieved") assert.Equal(t, heartbeatURL, req.URL.Path) @@ -824,7 +824,7 @@ func TestCollectorCheckingCredentialsFoundInLocalStorage(t *testing.T) { // failing heatbeat case 1: - require.NotEqual(t, registerURL, req.URL.Path, + assert.NotEqual(t, registerURL, req.URL.Path, "collector shouldn't call the register API when credentials locally retrieved") assert.Equal(t, heartbeatURL, req.URL.Path) @@ -840,7 +840,7 @@ func TestCollectorCheckingCredentialsFoundInLocalStorage(t *testing.T) { // successful heatbeat case 2: - require.NotEqual(t, registerURL, req.URL.Path, + assert.NotEqual(t, registerURL, req.URL.Path, "collector shouldn't call the register API when credentials locally retrieved") assert.Equal(t, heartbeatURL, req.URL.Path) @@ -888,7 +888,7 @@ func TestCollectorCheckingCredentialsFoundInLocalStorage(t *testing.T) { // failing heatbeat case 1: - require.NotEqual(t, registerURL, req.URL.Path, + assert.NotEqual(t, registerURL, req.URL.Path, "collector shouldn't call the register API when credentials locally retrieved") assert.Equal(t, heartbeatURL, req.URL.Path) @@ -904,7 +904,7 @@ func TestCollectorCheckingCredentialsFoundInLocalStorage(t *testing.T) { // register case 2: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -956,7 +956,7 @@ func TestCollectorCheckingCredentialsFoundInLocalStorage(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -1047,7 +1047,7 @@ func TestRegisterEmptyCollectorNameWithBackoff(t *testing.T) { // register case reqNum <= retriesLimit: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -1113,7 +1113,7 @@ func TestRegisterEmptyCollectorNameUnrecoverableError(t *testing.T) { srv := httptest.NewServer(func() http.HandlerFunc { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { // TODO Add payload verification - verify if collectorName is set properly - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -1129,7 +1129,7 @@ func TestRegisterEmptyCollectorNameUnrecoverableError(t *testing.T) { } ] }`)) - require.NoError(t, err) + assert.NoError(t, err) }) }()) @@ -1166,7 +1166,7 @@ func TestRegistrationRedirect(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) authHeader := req.Header.Get("Authorization") @@ -1209,7 +1209,7 @@ func TestRegistrationRedirect(t *testing.T) { // should not produce any more requests default: - require.Fail(t, + assert.Fail(t, "extension should not make more than 5 requests to the destination server", ) } @@ -1224,12 +1224,12 @@ func TestRegistrationRedirect(t *testing.T) { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) http.Redirect(w, req, destSrv.URL, http.StatusMovedPermanently) // should not produce any more requests default: - require.Fail(t, + assert.Fail(t, "extension should not make more than 1 request to the original server", ) } @@ -1398,22 +1398,22 @@ func TestRegistrationRequestPayload(t *testing.T) { switch reqNum { // register case 1: - require.Equal(t, registerURL, req.URL.Path) + assert.Equal(t, registerURL, req.URL.Path) var reqPayload api.OpenRegisterRequestPayload - require.NoError(t, json.NewDecoder(req.Body).Decode(&reqPayload)) - require.True(t, reqPayload.Clobber) - require.Equal(t, hostname, reqPayload.Hostname) - require.Equal(t, "my description", reqPayload.Description) - require.Equal(t, "my category/", reqPayload.Category) - require.EqualValues(t, + assert.NoError(t, json.NewDecoder(req.Body).Decode(&reqPayload)) + assert.True(t, reqPayload.Clobber) + assert.Equal(t, hostname, reqPayload.Hostname) + assert.Equal(t, "my description", reqPayload.Description) + assert.Equal(t, "my category/", reqPayload.Category) + assert.EqualValues(t, map[string]any{ "field1": "value1", "field2": "value2", }, reqPayload.Fields, ) - require.Equal(t, "PST", reqPayload.TimeZone) + assert.Equal(t, "PST", reqPayload.TimeZone) authHeader := req.Header.Get("Authorization") assert.Equal(t, "Bearer dummy_install_token", authHeader, @@ -1425,7 +1425,7 @@ func TestRegistrationRequestPayload(t *testing.T) { "collectorId": "0000000001231231", "collectorName": "otc-test-123456123123" }`)) - require.NoError(t, err) + assert.NoError(t, err) // metadata case 2: assert.Equal(t, metadataURL, req.URL.Path) @@ -1526,24 +1526,24 @@ func TestUpdateMetadataRequestPayload(t *testing.T) { srv := httptest.NewServer(func() http.HandlerFunc { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { - require.Equal(t, metadataURL, req.URL.Path) + assert.Equal(t, metadataURL, req.URL.Path) var reqPayload api.OpenMetadataRequestPayload - require.NoError(t, json.NewDecoder(req.Body).Decode(&reqPayload)) - require.NotEmpty(t, reqPayload.HostDetails.Name) - require.NotEmpty(t, reqPayload.HostDetails.OsName) + assert.NoError(t, json.NewDecoder(req.Body).Decode(&reqPayload)) + assert.NotEmpty(t, reqPayload.HostDetails.Name) + assert.NotEmpty(t, reqPayload.HostDetails.OsName) // @sumo-drosiek: It happened to be empty OsVersion on my machine // require.NotEmpty(t, reqPayload.HostDetails.OsVersion) - require.NotEmpty(t, reqPayload.NetworkDetails.HostIPAddress) - require.EqualValues(t, "EKS-1.20.2", reqPayload.HostDetails.Environment) - require.EqualValues(t, "1.0.0", reqPayload.CollectorDetails.RunningVersion) - require.EqualValues(t, "A", reqPayload.TagDetails["team"]) - require.EqualValues(t, "linux", reqPayload.TagDetails["app"]) - require.EqualValues(t, "true", reqPayload.TagDetails["sumo.disco.enabled"]) + assert.NotEmpty(t, reqPayload.NetworkDetails.HostIPAddress) + assert.EqualValues(t, "EKS-1.20.2", reqPayload.HostDetails.Environment) + assert.EqualValues(t, "1.0.0", reqPayload.CollectorDetails.RunningVersion) + assert.EqualValues(t, "A", reqPayload.TagDetails["team"]) + assert.EqualValues(t, "linux", reqPayload.TagDetails["app"]) + assert.EqualValues(t, "true", reqPayload.TagDetails["sumo.disco.enabled"]) _, err := w.Write([]byte(``)) - require.NoError(t, err) + assert.NoError(t, err) }) }()) diff --git a/extension/sumologicextension/factory_test.go b/extension/sumologicextension/factory_test.go index e94e85e65cb5..b5b4972c88c5 100644 --- a/extension/sumologicextension/factory_test.go +++ b/extension/sumologicextension/factory_test.go @@ -52,7 +52,7 @@ func TestFactory_CreateDefaultConfig(t *testing.T) { require.NotNil(t, ext) } -func TestFactory_CreateExtension(t *testing.T) { +func TestFactory_Create(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.CollectorName = "test_collector" cfg.Credentials.InstallationToken = "dummy_install_token" diff --git a/extension/sumologicextension/go.mod b/extension/sumologicextension/go.mod index 90da4a99eb86..6fdd9b725f2b 100644 --- a/extension/sumologicextension/go.mod +++ b/extension/sumologicextension/go.mod @@ -6,73 +6,58 @@ require ( github.com/Showmax/go-fqdn v1.0.0 github.com/cenkalti/backoff/v4 v4.3.0 github.com/mitchellh/go-ps v1.0.0 - github.com/shirou/gopsutil/v4 v4.24.8 + github.com/shirou/gopsutil/v4 v4.24.9 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/extension v0.112.0 + go.opentelemetry.io/collector/extension/auth v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect + github.com/klauspost/compress v1.17.11 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/extension/sumologicextension/go.sum b/extension/sumologicextension/go.sum index 155cf4072013..6c67563b8f82 100644 --- a/extension/sumologicextension/go.sum +++ b/extension/sumologicextension/go.sum @@ -1,13 +1,11 @@ github.com/Showmax/go-fqdn v1.0.0 h1:0rG5IbmVliNT5O19Mfuvna9LL7zlHyRfsSvBPZmF9tM= github.com/Showmax/go-fqdn v1.0.0/go.mod h1:SfrFBzmDCtCGrnHhoDjuvFnKsWjEQX/Q9ARZvOrJAko= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -19,8 +17,6 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -36,56 +32,32 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= @@ -96,52 +68,46 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -157,8 +123,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -169,12 +135,12 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -185,10 +151,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/go.mod b/go.mod index da5fa57aaabb..9bcf98dce455 100644 --- a/go.mod +++ b/go.mod @@ -16,9 +16,6 @@ go 1.22.0 // see https://github.com/google/gnostic/issues/262 replace github.com/googleapis/gnostic v0.5.6 => github.com/googleapis/gnostic v0.5.5 -// see https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/12322#issuecomment-1185029670 -replace github.com/docker/go-connections v0.4.1-0.20210727194412-58542c764a11 => github.com/docker/go-connections v0.4.0 - retract ( v0.76.2 v0.76.1 @@ -32,11 +29,5 @@ exclude github.com/docker/distribution v2.8.0+incompatible // see https://github.com/DataDog/agent-payload/issues/218 exclude github.com/DataDog/agent-payload/v5 v5.0.59 -// see https://github.com/mattn/go-ieproxy/issues/45 -replace github.com/mattn/go-ieproxy => github.com/mattn/go-ieproxy v0.0.1 - // openshift removed all tags from their repo, use the pseudoversion from the release-3.9 branch HEAD replace github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 - -// It appears that the v0.2.0 tag was modified. Replacing with v0.2.1 -replace github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 diff --git a/internal/aws/awsutil/go.mod b/internal/aws/awsutil/go.mod index 67310f3ed5ac..66dac006739b 100644 --- a/internal/aws/awsutil/go.mod +++ b/internal/aws/awsutil/go.mod @@ -7,7 +7,7 @@ require ( github.com/stretchr/testify v1.9.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - golang.org/x/net v0.28.0 + golang.org/x/net v0.30.0 ) require ( @@ -16,7 +16,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/stretchr/objx v0.5.2 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/text v0.19.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/internal/aws/awsutil/go.sum b/internal/aws/awsutil/go.sum index ea5ed6342ae0..9afe87634df3 100644 --- a/internal/aws/awsutil/go.sum +++ b/internal/aws/awsutil/go.sum @@ -26,10 +26,10 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/aws/containerinsight/go.mod b/internal/aws/containerinsight/go.mod index 242c79323ea5..e8dca912a5f5 100644 --- a/internal/aws/containerinsight/go.mod +++ b/internal/aws/containerinsight/go.mod @@ -4,7 +4,7 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -17,12 +17,12 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/aws/containerinsight/go.sum b/internal/aws/containerinsight/go.sum index 63d4a20816fb..e1c5108c0863 100644 --- a/internal/aws/containerinsight/go.sum +++ b/internal/aws/containerinsight/go.sum @@ -29,8 +29,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -46,20 +46,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -68,12 +68,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/aws/cwlogs/go.mod b/internal/aws/cwlogs/go.mod index 3571f9592438..e40bd9aa49b3 100644 --- a/internal/aws/cwlogs/go.mod +++ b/internal/aws/cwlogs/go.mod @@ -5,7 +5,7 @@ go 1.22.0 require ( github.com/aws/aws-sdk-go v1.55.5 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -16,18 +16,18 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/aws/cwlogs/go.sum b/internal/aws/cwlogs/go.sum index db426e211a5b..6386095d8bef 100644 --- a/internal/aws/cwlogs/go.sum +++ b/internal/aws/cwlogs/go.sum @@ -32,18 +32,18 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -59,20 +59,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -81,12 +81,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/aws/cwlogs/pusher_test.go b/internal/aws/cwlogs/pusher_test.go index e4748e173f99..11e445fdd126 100644 --- a/internal/aws/cwlogs/pusher_test.go +++ b/internal/aws/cwlogs/pusher_test.go @@ -31,7 +31,7 @@ func TestValidateLogEventWithMutating(t *testing.T) { logEvent.GeneratedTime = time.Now() err := logEvent.Validate(zap.NewNop()) assert.NoError(t, err) - assert.Greater(t, *logEvent.InputLogEvent.Timestamp, int64(0)) + assert.Positive(t, *logEvent.InputLogEvent.Timestamp) assert.Len(t, *logEvent.InputLogEvent.Message, 64-perEventHeaderBytes) maxEventPayloadBytes = defaultMaxEventPayloadBytes diff --git a/internal/aws/ecsutil/client_test.go b/internal/aws/ecsutil/client_test.go index 88903d0677ff..2d9c92fa78f2 100644 --- a/internal/aws/ecsutil/client_test.go +++ b/internal/aws/ecsutil/client_test.go @@ -37,7 +37,7 @@ func TestClient(t *testing.T) { func TestNewClientProvider(t *testing.T) { baseURL, _ := url.Parse("http://localhost:8080") - provider := NewClientProvider(*baseURL, confighttp.ClientConfig{}, componenttest.NewNopHost(), componenttest.NewNopTelemetrySettings()) + provider := NewClientProvider(*baseURL, confighttp.NewDefaultClientConfig(), componenttest.NewNopHost(), componenttest.NewNopTelemetrySettings()) require.NotNil(t, provider) _, ok := provider.(*defaultClientProvider) require.True(t, ok) @@ -49,7 +49,7 @@ func TestNewClientProvider(t *testing.T) { func TestDefaultClient(t *testing.T) { endpoint, _ := url.Parse("http://localhost:8080") - client, err := defaultClient(context.Background(), *endpoint, confighttp.ClientConfig{}, componenttest.NewNopHost(), componenttest.NewNopTelemetrySettings()) + client, err := defaultClient(context.Background(), *endpoint, confighttp.NewDefaultClientConfig(), componenttest.NewNopHost(), componenttest.NewNopTelemetrySettings()) require.NoError(t, err) require.NotNil(t, client.httpClient.Transport) require.Equal(t, "http://localhost:8080", client.baseURL.String()) diff --git a/internal/aws/ecsutil/go.mod b/internal/aws/ecsutil/go.mod index 2fef9cdcefb8..79ce19309d1d 100644 --- a/internal/aws/ecsutil/go.mod +++ b/internal/aws/ecsutil/go.mod @@ -3,67 +3,50 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ec go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/klauspost/compress v1.17.11 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/rs/cors v1.11.1 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/aws/ecsutil/go.sum b/internal/aws/ecsutil/go.sum index 3797556796d2..7afde4d26fdd 100644 --- a/internal/aws/ecsutil/go.sum +++ b/internal/aws/ecsutil/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -13,8 +9,6 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -23,100 +17,70 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331 h1:hSNE9qRE+8q0Kdsonyqblku6I8+9Ma9l5mr7gZs85lM= -go.opentelemetry.io/collector/config/confighttp v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:BqiO/cDUrtYIsDmyRtDqzKGJMFyHZ1Zp/MxKWQfRX+0= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.1 h1:75zHUpIDfgZMp3t9fYdpXXE6/wsBs9DwTZdfwS3+NDI= -go.opentelemetry.io/collector/consumer v0.108.1/go.mod h1:xu2pOTqK+uCFXZWd9RcU8s6sCRwK5GyuP64YuHLMzzA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -132,20 +96,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -156,10 +120,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/aws/ecsutil/metadata_provider.go b/internal/aws/ecsutil/metadata_provider.go index 34b814aba246..3968d88868ed 100644 --- a/internal/aws/ecsutil/metadata_provider.go +++ b/internal/aws/ecsutil/metadata_provider.go @@ -42,7 +42,7 @@ func NewDetectedTaskMetadataProvider(set component.TelemetrySettings) (MetadataP return nil, fmt.Errorf("unable to detect task metadata endpoint") } - clientSettings := confighttp.ClientConfig{} + clientSettings := confighttp.NewDefaultClientConfig() client, err := NewRestClient(*endpoint, clientSettings, set) if err != nil { return nil, err diff --git a/internal/aws/ecsutil/rest_client_test.go b/internal/aws/ecsutil/rest_client_test.go index d971fa439e30..d715223e7ba3 100644 --- a/internal/aws/ecsutil/rest_client_test.go +++ b/internal/aws/ecsutil/rest_client_test.go @@ -23,7 +23,7 @@ func (f *fakeClient) Get(path string) ([]byte, error) { func TestRestClient(t *testing.T) { u, _ := url.Parse("http://www.test.com") - rest, err := NewRestClient(*u, confighttp.ClientConfig{}, componenttest.NewNopTelemetrySettings()) + rest, err := NewRestClient(*u, confighttp.NewDefaultClientConfig(), componenttest.NewNopTelemetrySettings()) require.NoError(t, err) require.NotNil(t, rest) } diff --git a/internal/aws/k8s/go.mod b/internal/aws/k8s/go.mod index 0648133392ba..fcf2362edc42 100644 --- a/internal/aws/k8s/go.mod +++ b/internal/aws/k8s/go.mod @@ -7,9 +7,9 @@ require ( github.com/stretchr/testify v1.9.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - k8s.io/api v0.31.0 - k8s.io/apimachinery v0.31.0 - k8s.io/client-go v0.31.0 + k8s.io/api v0.31.2 + k8s.io/apimachinery v0.31.2 + k8s.io/client-go v0.31.2 ) require ( diff --git a/internal/aws/k8s/go.sum b/internal/aws/k8s/go.sum index 5169ad7cd6c6..61761e2005bd 100644 --- a/internal/aws/k8s/go.sum +++ b/internal/aws/k8s/go.sum @@ -150,12 +150,12 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= diff --git a/internal/aws/metrics/go.mod b/internal/aws/metrics/go.mod index 52ce0de8b1f2..e93680e16697 100644 --- a/internal/aws/metrics/go.mod +++ b/internal/aws/metrics/go.mod @@ -4,7 +4,7 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/otel v1.29.0 + go.opentelemetry.io/otel v1.31.0 go.uber.org/goleak v1.3.0 ) diff --git a/internal/aws/metrics/go.sum b/internal/aws/metrics/go.sum index 5bbecacc5fcf..8cb5de4f4bc8 100644 --- a/internal/aws/metrics/go.sum +++ b/internal/aws/metrics/go.sum @@ -13,8 +13,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/aws/metrics/metric_calculator.go b/internal/aws/metrics/metric_calculator.go index 098b673fbded..5d4118e42cbd 100644 --- a/internal/aws/metrics/metric_calculator.go +++ b/internal/aws/metrics/metric_calculator.go @@ -122,7 +122,7 @@ type MapWithExpiry struct { // NewMapWithExpiry automatically starts a sweeper to enforce the maps TTL. ShutDown() must be called to ensure that these // go routines are properly cleaned up ShutDown() must be called. func NewMapWithExpiry(ttl time.Duration) *MapWithExpiry { - m := &MapWithExpiry{lock: &sync.Mutex{}, ttl: ttl, entries: make(map[any]*MetricValue), doneChan: make(chan struct{})} + m := &MapWithExpiry{lock: &sync.Mutex{}, ttl: ttl, entries: make(map[any]*MetricValue), doneChan: make(chan struct{}, 1000)} go m.sweep(m.CleanUp) return m } diff --git a/internal/aws/proxy/cfg.go b/internal/aws/proxy/cfg.go index 2d352d58f742..77aad63cceab 100644 --- a/internal/aws/proxy/cfg.go +++ b/internal/aws/proxy/cfg.go @@ -7,7 +7,7 @@ import ( "go.opentelemetry.io/collector/config/confignet" "go.opentelemetry.io/collector/config/configtls" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/localhostgate" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" ) // Config is the configuration for the local TCP proxy server. @@ -49,7 +49,7 @@ type Config struct { func DefaultConfig() *Config { return &Config{ TCPAddrConfig: confignet.TCPAddrConfig{ - Endpoint: localhostgate.EndpointForPort(2000), + Endpoint: testutil.EndpointForPort(2000), }, ProxyAddress: "", TLSSetting: configtls.ClientConfig{ diff --git a/internal/aws/proxy/conn_test.go b/internal/aws/proxy/conn_test.go index 77b3ddc8d0c8..97584a897205 100644 --- a/internal/aws/proxy/conn_test.go +++ b/internal/aws/proxy/conn_test.go @@ -255,8 +255,7 @@ func TestLoadEnvConfigCreds(t *testing.T) { assert.Equal(t, cases.Val, value, "Expect the credentials value to match") _, err = newAWSSession("ROLEARN", "TEST", zap.NewNop()) - assert.Error(t, err, "expected error") - assert.Contains(t, err.Error(), "unable to handle AWS error", "expected error message") + assert.ErrorContains(t, err, "unable to handle AWS error", "expected error message") } func TestGetProxyUrlProxyAddressNotValid(t *testing.T) { @@ -339,8 +338,7 @@ func TestProxyServerTransportInvalidProxyAddr(t *testing.T) { _, err := proxyServerTransport(&Config{ ProxyAddress: "invalid\n", }) - assert.Error(t, err, "expected error") - assert.Contains(t, err.Error(), "invalid control character in URL") + assert.ErrorContains(t, err, "invalid control character in URL") } func TestProxyServerTransportHappyCase(t *testing.T) { diff --git a/internal/aws/proxy/go.mod b/internal/aws/proxy/go.mod index 7217c6232408..409ad2503186 100644 --- a/internal/aws/proxy/go.mod +++ b/internal/aws/proxy/go.mod @@ -4,10 +4,10 @@ go 1.22.0 require ( github.com/aws/aws-sdk-go v1.55.5 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 go.uber.org/zap v1.27.0 ) @@ -17,8 +17,8 @@ require ( github.com/hashicorp/go-version v1.7.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/featuregate v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/sys v0.14.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/internal/aws/proxy/go.sum b/internal/aws/proxy/go.sum index 4d279d02ed49..312e6afc4459 100644 --- a/internal/aws/proxy/go.sum +++ b/internal/aws/proxy/go.sum @@ -22,14 +22,14 @@ github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncj github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= diff --git a/internal/aws/proxy/server_test.go b/internal/aws/proxy/server_test.go index 664684bb33f5..d65902f1ba31 100644 --- a/internal/aws/proxy/server_test.go +++ b/internal/aws/proxy/server_test.go @@ -207,7 +207,7 @@ func TestCantGetServiceEndpoint(t *testing.T) { _, err := NewServer(cfg, logger) assert.Error(t, err, "NewServer should fail") - assert.Contains(t, err.Error(), "invalid region") + assert.ErrorContains(t, err, "invalid region") } func TestAWSEndpointInvalid(t *testing.T) { @@ -222,7 +222,7 @@ func TestAWSEndpointInvalid(t *testing.T) { _, err := NewServer(cfg, logger) assert.Error(t, err, "NewServer should fail") - assert.Contains(t, err.Error(), "unable to parse AWS service endpoint") + assert.ErrorContains(t, err, "unable to parse AWS service endpoint") } func TestCanCreateTransport(t *testing.T) { @@ -237,7 +237,7 @@ func TestCanCreateTransport(t *testing.T) { _, err := NewServer(cfg, logger) assert.Error(t, err, "NewServer should fail") - assert.Contains(t, err.Error(), "failed to parse proxy URL") + assert.ErrorContains(t, err, "failed to parse proxy URL") } func TestGetServiceEndpointInvalidAWSConfig(t *testing.T) { diff --git a/internal/aws/xray/go.mod b/internal/aws/xray/go.mod index f6ecb6deef58..6e3693959269 100644 --- a/internal/aws/xray/go.mod +++ b/internal/aws/xray/go.mod @@ -4,9 +4,9 @@ go 1.22.0 require ( github.com/aws/aws-sdk-go v1.55.5 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -17,18 +17,18 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/aws/xray/go.sum b/internal/aws/xray/go.sum index 7b62eb4282b0..8d50d5ed6bfb 100644 --- a/internal/aws/xray/go.sum +++ b/internal/aws/xray/go.sum @@ -32,18 +32,18 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -59,20 +59,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -81,12 +81,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/aws/xray/tracesegment_test.go b/internal/aws/xray/tracesegment_test.go index add3634b6d85..33add5dffca8 100644 --- a/internal/aws/xray/tracesegment_test.go +++ b/internal/aws/xray/tracesegment_test.go @@ -627,9 +627,9 @@ func TestTraceBodyUnMarshalling(t *testing.T) { for _, tc := range tests { content, err := os.ReadFile(tc.samplePath) - assert.NoError(t, err, fmt.Sprintf("[%s] can not read raw segment", tc.testCase)) + assert.NoErrorf(t, err, "[%s] can not read raw segment", tc.testCase) - assert.NotEmpty(t, content, fmt.Sprintf("[%s] content length is 0", tc.testCase)) + assert.NotEmptyf(t, content, "[%s] content length is 0", tc.testCase) var actualSeg Segment err = json.Unmarshal(content, &actualSeg) diff --git a/internal/buildscripts/modules b/internal/buildscripts/modules index 4b3fdbc5a6a2..56da5612fdf6 100644 --- a/internal/buildscripts/modules +++ b/internal/buildscripts/modules @@ -1,39 +1,67 @@ #!/bin/bash beta_modules=( + "go.opentelemetry.io/collector" "go.opentelemetry.io/collector/cmd/builder" + "go.opentelemetry.io/collector/cmd/mdatagen" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/component/componentstatus" + "go.opentelemetry.io/collector/component/componentprofiles" + "go.opentelemetry.io/collector/confmap/converter/expandconverter" "go.opentelemetry.io/collector/config/configauth" "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/config/confighttp" - "go.opentelemetry.io/collector/config/confignet" "go.opentelemetry.io/collector/config/configtelemetry" - "go.opentelemetry.io/collector/config/internal" "go.opentelemetry.io/collector/connector" + "go.opentelemetry.io/collector/connector/connectorprofiles" "go.opentelemetry.io/collector/connector/forwardconnector" "go.opentelemetry.io/collector/consumer" + "go.opentelemetry.io/collector/consumer/consumerprofiles" + "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/debugexporter" + "go.opentelemetry.io/collector/exporter/exporterprofiles" "go.opentelemetry.io/collector/exporter/loggingexporter" + "go.opentelemetry.io/collector/exporter/nopexporter" "go.opentelemetry.io/collector/exporter/otlpexporter" "go.opentelemetry.io/collector/exporter/otlphttpexporter" "go.opentelemetry.io/collector/extension" + "go.opentelemetry.io/collector/extension/extensioncapabilities" "go.opentelemetry.io/collector/extension/auth" + "go.opentelemetry.io/collector/extension/experimental/storage" "go.opentelemetry.io/collector/extension/zpagesextension" + "go.opentelemetry.io/collector/extension/memorylimiterextension" "go.opentelemetry.io/collector/otelcol" + "go.opentelemetry.io/collector/otelcol/otelcoltest" + "go.opentelemetry.io/collector/pdata/pprofile" + "go.opentelemetry.io/collector/pdata/testdata" + "go.opentelemetry.io/collector/pipeline" "go.opentelemetry.io/collector/processor" "go.opentelemetry.io/collector/processor/batchprocessor" "go.opentelemetry.io/collector/processor/memorylimiterprocessor" + "go.opentelemetry.io/collector/processor/processorprofiles" "go.opentelemetry.io/collector/receiver" + "go.opentelemetry.io/collector/receiver/nopreceiver" "go.opentelemetry.io/collector/receiver/otlpreceiver" + "go.opentelemetry.io/collector/receiver/receiverprofiles" "go.opentelemetry.io/collector/semconv" + "go.opentelemetry.io/collector/service" + "go.opentelemetry.io/collector/filter" ) stable_modules=( + "go.opentelemetry.io/collector/client" "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata" "go.opentelemetry.io/collector/confmap" - "go.opentelemetry.io/collector/config/configcompression" + "go.opentelemetry.io/collector/confmap/provider/envprovider" + "go.opentelemetry.io/collector/confmap/provider/fileprovider" + "go.opentelemetry.io/collector/confmap/provider/httpprovider" + "go.opentelemetry.io/collector/confmap/provider/httpsprovider" + "go.opentelemetry.io/collector/confmap/provider/yamlprovider" "go.opentelemetry.io/collector/config/configopaque" + "go.opentelemetry.io/collector/config/configcompression" + "go.opentelemetry.io/collector/config/configretry" "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/config/confignet" ) diff --git a/internal/buildscripts/packaging/fpm/Dockerfile b/internal/buildscripts/packaging/fpm/Dockerfile deleted file mode 100644 index 000a4d3e9879..000000000000 --- a/internal/buildscripts/packaging/fpm/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM debian:12 - -RUN apt-get update && \ - apt-get install -y ruby ruby-dev rubygems build-essential git rpm - -RUN gem install --no-document fpm -v 1.11.0 - -VOLUME /repo -WORKDIR /repo - -ENV PACKAGE="deb" -ENV VERSION="" -ENV ARCH="amd64" -ENV OUTPUT_DIR="/repo/dist/" - -CMD ./internal/buildscripts/packaging/fpm/$PACKAGE/build.sh "$VERSION" "$ARCH" "$OUTPUT_DIR" \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/common.sh b/internal/buildscripts/packaging/fpm/common.sh deleted file mode 100644 index 40d90e362f6b..000000000000 --- a/internal/buildscripts/packaging/fpm/common.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -FPM_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -export FPM_DIR - -export PKG_NAME="otel-contrib-collector" -export PKG_VENDOR="OpenTelemetry Community" -export PKG_MAINTAINER="OpenTelemetry Community " -export PKG_DESCRIPTION="OpenTelemetry Contrib Collector" -export PKG_LICENSE="Apache 2.0" -export PKG_URL="https://github.com/open-telemetry/opentelemetry-collector-contrib" -export PKG_USER="otel" -export PKG_GROUP="otel" - -export SERVICE_NAME="otel-contrib-collector" -export PROCESS_NAME="otelcontribcol" - -export CONFIG_PATH="$REPO_DIR/examples/demo/otel-collector-config.yaml" -export SERVICE_PATH="$FPM_DIR/$SERVICE_NAME.service" -export ENVFILE_PATH="$FPM_DIR/$SERVICE_NAME.conf" -export PREINSTALL_PATH="$FPM_DIR/preinstall.sh" -export POSTINSTALL_PATH="$FPM_DIR/postinstall.sh" -export PREUNINSTALL_PATH="$FPM_DIR/preuninstall.sh" - -docker_cp() { - local container="$1" - local src="$2" - local dest="$3" - local dest_dir - dest_dir="$( dirname "$dest" )" - - echo "Copying $src to $container:$dest ..." - podman exec "$container" mkdir -p "$dest_dir" - podman cp "$src" "$container":"$dest" -} - -install_pkg() { - local container="$1" - local pkg_path="$2" - local pkg_base - pkg_base=$( basename "$pkg_path" ) - - echo "Installing $pkg_base ..." - docker_cp "$container" "$pkg_path" /tmp/"$pkg_base" - if [[ "${pkg_base##*.}" = "deb" ]]; then - podman exec "$container" dpkg -i /tmp/"$pkg_base" - else - podman exec "$container" rpm -ivh /tmp/"$pkg_base" - fi -} - -uninstall_pkg() { - local container="$1" - local pkg_type="$2" - local pkg_name="${3:-"$PKG_NAME"}" - - echo "Uninstalling $pkg_name ..." - if [[ "$pkg_type" = "deb" ]]; then - podman exec "$container" dpkg -r "$pkg_name" - else - podman exec "$container" rpm -e "$pkg_name" - fi -} diff --git a/internal/buildscripts/packaging/fpm/deb/Dockerfile.test b/internal/buildscripts/packaging/fpm/deb/Dockerfile.test deleted file mode 100644 index 56d482f9d5c0..000000000000 --- a/internal/buildscripts/packaging/fpm/deb/Dockerfile.test +++ /dev/null @@ -1,14 +0,0 @@ -# A debian11 image with systemd enabled. Must be run with: -# `-d --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro` flags -FROM debian:12 - -ENV container docker -ENV DEBIAN_FRONTEND noninteractive - -# Enable systemd. -RUN apt-get update ; \ - apt-get install -y systemd systemd-sysv procps; \ - apt-get clean ; \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -CMD ["/lib/systemd/systemd"] diff --git a/internal/buildscripts/packaging/fpm/deb/README.md b/internal/buildscripts/packaging/fpm/deb/README.md deleted file mode 100644 index 7620be58c3a6..000000000000 --- a/internal/buildscripts/packaging/fpm/deb/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Build otel-contrib-collector deb package - -Build the otel-contrib-collector deb package with [fpm](https://github.com/jordansissel/fpm). - -To build the deb package, run `make deb-package` from the repo root directory. The deb package will be written to -`dist/otel-contrib-collector__.deb`. - -By default, `` is `amd64` and `` is the latest git tag with `-post` appended, e.g. `1.2.3-post`. -To override these defaults, set the `ARCH` and `VERSION` environment variables, e.g. -`ARCH=arm64 VERSION=4.5.6 make deb-package`. - -Run `./internal/buildscripts/packaging/fpm/test.sh PATH_TO_DEB_FILE [PATH_TO_CONFIG_FILE]` to run a basic installation -test with the built package. `PATH_TO_CONFIG_FILE` defaults to `examples/demo/otel-collector-config.yaml` if one is -not specified. \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/deb/build.sh b/internal/buildscripts/packaging/fpm/deb/build.sh deleted file mode 100755 index b07fff55ea2e..000000000000 --- a/internal/buildscripts/packaging/fpm/deb/build.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -set -euxo pipefail - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -REPO_DIR="$( cd "$SCRIPT_DIR/../../../../../" && pwd )" -VERSION="${1:-}" -ARCH="${2:-"amd64"}" -OUTPUT_DIR="${3:-"$REPO_DIR/dist/"}" -OTELCONTRIBCOL_PATH="$REPO_DIR/bin/otelcontribcol_linux_$ARCH" - -. "$SCRIPT_DIR"/../common.sh - -if [[ -z "$VERSION" ]]; then - latest_tag="$( git describe --abbrev=0 --match v[0-9]* )" - VERSION="${latest_tag}-post" -fi - -mkdir -p "$OUTPUT_DIR" - -fpm -s dir -t deb -n "$PKG_NAME" -v "${VERSION#v}" -f -p "$OUTPUT_DIR" \ - --vendor "$PKG_VENDOR" \ - --maintainer "$PKG_MAINTAINER" \ - --description "$PKG_DESCRIPTION" \ - --license "$PKG_LICENSE" \ - --url "$PKG_URL" \ - --architecture "$ARCH" \ - --deb-dist "stable" \ - --deb-user "$PKG_USER" \ - --deb-group "$PKG_GROUP" \ - --before-install "$PREINSTALL_PATH" \ - --after-install "$POSTINSTALL_PATH" \ - --pre-uninstall "$PREUNINSTALL_PATH" \ - "$SERVICE_PATH"=/lib/systemd/system/"$SERVICE_NAME".service \ - "$OTELCONTRIBCOL_PATH"=/usr/bin/otelcontribcol \ - "$CONFIG_PATH"=/etc/otel-contrib-collector/config.yaml \ - "$ENVFILE_PATH"=/etc/otel-contrib-collector/otel-contrib-collector.conf diff --git a/internal/buildscripts/packaging/fpm/otel-contrib-collector.conf b/internal/buildscripts/packaging/fpm/otel-contrib-collector.conf deleted file mode 100644 index b61dd4e0f1cd..000000000000 --- a/internal/buildscripts/packaging/fpm/otel-contrib-collector.conf +++ /dev/null @@ -1,5 +0,0 @@ -# Systemd environment file for the otel-contrib-collector service - -# Command-line options for the otel-contrib-collector service. -# Run `/usr/bin/otelcontribcol --help` to see all available options. -OTELCOL_OPTIONS="--config=/etc/otel-contrib-collector/config.yaml" \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/otel-contrib-collector.service b/internal/buildscripts/packaging/fpm/otel-contrib-collector.service deleted file mode 100644 index 7f1a4c4017b2..000000000000 --- a/internal/buildscripts/packaging/fpm/otel-contrib-collector.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=OpenTelemetry Contrib Collector -After=network.target - -[Service] -ExecStart=/usr/bin/otelcontribcol $OTELCOL_OPTIONS -EnvironmentFile=/etc/otel-contrib-collector/otel-contrib-collector.conf -KillMode=mixed -Restart=on-failure -Type=simple -User=otel -Group=otel - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/postinstall.sh b/internal/buildscripts/packaging/fpm/postinstall.sh deleted file mode 100644 index b60b00295adf..000000000000 --- a/internal/buildscripts/packaging/fpm/postinstall.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -if command -v systemctl >/dev/null 2>&1; then - systemctl enable otel-contrib-collector.service - if [ -f /etc/otel-contrib-collector/config.yaml ]; then - systemctl start otel-contrib-collector.service - fi -fi \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/preinstall.sh b/internal/buildscripts/packaging/fpm/preinstall.sh deleted file mode 100644 index 99320ee3b335..000000000000 --- a/internal/buildscripts/packaging/fpm/preinstall.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -getent passwd otel >/dev/null || useradd --system --user-group --no-create-home --shell /sbin/nologin otel \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/preuninstall.sh b/internal/buildscripts/packaging/fpm/preuninstall.sh deleted file mode 100644 index 4faffaac44fc..000000000000 --- a/internal/buildscripts/packaging/fpm/preuninstall.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -if command -v systemctl >/dev/null 2>&1; then - systemctl stop otel-contrib-collector.service - systemctl disable otel-contrib-collector.service -fi \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/rpm/Dockerfile.test b/internal/buildscripts/packaging/fpm/rpm/Dockerfile.test deleted file mode 100644 index 8429e850d73b..000000000000 --- a/internal/buildscripts/packaging/fpm/rpm/Dockerfile.test +++ /dev/null @@ -1,9 +0,0 @@ -# A rockylinux8.5 image with systemd enabled. Must be run with: -# `-d --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro` flags -FROM rockylinux:9.3 - -ENV container docker - -RUN dnf install -y initscripts - -CMD ["/usr/sbin/init"] diff --git a/internal/buildscripts/packaging/fpm/rpm/README.md b/internal/buildscripts/packaging/fpm/rpm/README.md deleted file mode 100644 index 8f64d6f70d51..000000000000 --- a/internal/buildscripts/packaging/fpm/rpm/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Build otel-contrib-collector rpm package - -Build the otel-contrib-collector rpm package with [fpm](https://github.com/jordansissel/fpm). - -To build the rpm package, run `make rpm-package` from the repo root directory. The rpm package will be written to -`dist/otel-contrib-collector-.>.rpm`. - -By default, `` is `amd64` and `` is the latest git tag with `~post` appended, e.g. `1.2.3~post`. -To override these defaults, set the `ARCH` and `VERSION` environment variables, e.g. -`ARCH=arm64 VERSION=4.5.6 make rpm-package`. - -Run `./internal/buildscripts/packaging/fpm/test.sh PATH_TO_RPM_FILE [PATH_TO_CONFIG_FILE]` to run a basic installation -test with the built package. `PATH_TO_CONFIG_FILE` defaults to `examples/demo/otel-collector-config.yaml` if one is -not specified. \ No newline at end of file diff --git a/internal/buildscripts/packaging/fpm/rpm/build.sh b/internal/buildscripts/packaging/fpm/rpm/build.sh deleted file mode 100755 index 4b2d072c62cb..000000000000 --- a/internal/buildscripts/packaging/fpm/rpm/build.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -set -euxo pipefail - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -REPO_DIR="$( cd "$SCRIPT_DIR/../../../../../" && pwd )" -VERSION="${1:-}" -ARCH="${2:-"amd64"}" -OUTPUT_DIR="${3:-"$REPO_DIR/dist/"}" -OTELCONTRIBCOL_PATH="$REPO_DIR/bin/otelcontribcol_linux_$ARCH" - -. "$SCRIPT_DIR"/../common.sh - -if [[ -z "$VERSION" ]]; then - latest_tag="$( git describe --abbrev=0 --match v[0-9]* )" - VERSION="${latest_tag}~post" -fi - -# remap arm64 to aarch64, which is the arch used by Linux distributions -# see https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/6508 -if [[ "$ARCH" == "arm64" ]]; then - ARCH="aarch64" -fi - -mkdir -p "$OUTPUT_DIR" - -fpm -s dir -t rpm -n "$PKG_NAME" -v "${VERSION#v}" -f -p "$OUTPUT_DIR" \ - --vendor "$PKG_VENDOR" \ - --maintainer "$PKG_MAINTAINER" \ - --description "$PKG_DESCRIPTION" \ - --license "$PKG_LICENSE" \ - --url "$PKG_URL" \ - --architecture "$ARCH" \ - --rpm-summary "$PKG_DESCRIPTION" \ - --rpm-user "$PKG_USER" \ - --rpm-group "$PKG_GROUP" \ - --before-install "$PREINSTALL_PATH" \ - --after-install "$POSTINSTALL_PATH" \ - --pre-uninstall "$PREUNINSTALL_PATH" \ - "$SERVICE_PATH"=/lib/systemd/system/"$SERVICE_NAME".service \ - "$OTELCONTRIBCOL_PATH"=/usr/bin/otelcontribcol \ - "$CONFIG_PATH"=/etc/otel-contrib-collector/config.yaml \ - "$ENVFILE_PATH"=/etc/otel-contrib-collector/otel-contrib-collector.conf diff --git a/internal/buildscripts/packaging/fpm/test.sh b/internal/buildscripts/packaging/fpm/test.sh deleted file mode 100755 index e52b3407a4c2..000000000000 --- a/internal/buildscripts/packaging/fpm/test.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash - -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - -set -euov pipefail - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -REPO_DIR="$( cd "$SCRIPT_DIR/../../../../" && pwd )" -export REPO_DIR -PKG_PATH="${1:-}" - -. "$SCRIPT_DIR"/common.sh - -if [[ -z "$PKG_PATH" ]]; then - echo "usage: ${BASH_SOURCE[0]} DEB_OR_RPM_PATH" >&2 - exit 1 -fi - -if [[ ! -f "$PKG_PATH" ]]; then - echo "$PKG_PATH not found!" >&2 - exit 1 -fi - - -pkg_base="$( basename "$PKG_PATH" )" -pkg_type="${pkg_base##*.}" -if [[ ! "$pkg_type" =~ ^(deb|rpm)$ ]]; then - echo "$PKG_PATH not supported!" >&2 - exit 1 -fi -image_name="otelcontribcol-$pkg_type-test" -container_name="$image_name" -container_exec="podman exec $container_name" - -trap 'podman rm -fv $container_name >/dev/null 2>&1 || true' EXIT - -podman build -t "$image_name" -f "$SCRIPT_DIR/$pkg_type/Dockerfile.test" "$SCRIPT_DIR" -podman rm -fv "$container_name" >/dev/null 2>&1 || true - -# test install -CRUN_VER='1.14.4' -mkdir -p "${HOME}/.local/bin" -curl -L "https://github.com/containers/crun/releases/download/${CRUN_VER}/crun-${CRUN_VER}-linux-amd64" -o "${HOME}/.local/bin/crun" -chmod +x "${HOME}/.local/bin/crun" -mkdir -p "${HOME}/.config/containers" -cat << EOF > "${HOME}/.config/containers/containers.conf" -[engine.runtimes] -crun = [ - "${HOME}/.local/bin/crun", - "/usr/bin/crun" -] -EOF - -echo -podman run --name "$container_name" -d "$image_name" -install_pkg "$container_name" "$PKG_PATH" - -# ensure service has started and still running after 5 seconds -sleep 5 -echo "Checking $SERVICE_NAME service status ..." -$container_exec systemctl --no-pager status $SERVICE_NAME - -echo "Checking $PROCESS_NAME process ..." -$container_exec pgrep -a -u otel $PROCESS_NAME - -# test uninstall -echo -uninstall_pkg "$container_name" "$pkg_type" - -echo "Checking $SERVICE_NAME service status after uninstall ..." -if $container_exec systemctl --no-pager status $SERVICE_NAME; then - echo "$SERVICE_NAME service still running after uninstall" >&2 - exit 1 -fi -echo "$SERVICE_NAME service successfully stopped after uninstall" - -echo "Checking $SERVICE_NAME service existence after uninstall ..." -if $container_exec systemctl list-unit-files --all | grep $SERVICE_NAME; then - echo "$SERVICE_NAME service still exists after uninstall" >&2 - exit 1 -fi -echo "$SERVICE_NAME service successfully removed after uninstall" - -echo "Checking $PROCESS_NAME process after uninstall ..." -if $container_exec pgrep $PROCESS_NAME; then - echo "$PROCESS_NAME process still running after uninstall" - exit 1 -fi -echo "$PROCESS_NAME process successfully killed after uninstall" diff --git a/internal/common/go.mod b/internal/common/go.mod index d494442147f9..8b9199317d4f 100644 --- a/internal/common/go.mod +++ b/internal/common/go.mod @@ -4,7 +4,7 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/featuregate v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) diff --git a/internal/common/go.sum b/internal/common/go.sum index 097adf4bbadf..cce2c18c9c79 100644 --- a/internal/common/go.sum +++ b/internal/common/go.sum @@ -12,8 +12,8 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= diff --git a/internal/common/localhostgate/featuregate.go b/internal/common/localhostgate/featuregate.go index 9d74c396e857..e19b6e41e953 100644 --- a/internal/common/localhostgate/featuregate.go +++ b/internal/common/localhostgate/featuregate.go @@ -10,10 +10,8 @@ package localhostgate // import "github.com/open-telemetry/opentelemetry-collect import ( "errors" - "fmt" "go.opentelemetry.io/collector/featuregate" - "go.uber.org/zap" ) const UseLocalHostAsDefaultHostID = "component.UseLocalHostAsDefaultHost" @@ -23,7 +21,8 @@ const UseLocalHostAsDefaultHostID = "component.UseLocalHostAsDefaultHost" var UseLocalHostAsDefaultHostfeatureGate = mustRegisterOrLoad( featuregate.GlobalRegistry(), UseLocalHostAsDefaultHostID, - featuregate.StageBeta, + featuregate.StageStable, + featuregate.WithRegisterToVersion("v0.111.0"), featuregate.WithRegisterDescription("controls whether server-like receivers and extensions such as the OTLP receiver use localhost as the default host for their endpoints"), ) @@ -47,22 +46,3 @@ func mustRegisterOrLoad(reg *featuregate.Registry, id string, stage featuregate. return gate } - -// EndpointForPort gets the endpoint for a given port using localhost or 0.0.0.0 depending on the feature gate. -func EndpointForPort(port int) string { - host := "localhost" - if !UseLocalHostAsDefaultHostfeatureGate.IsEnabled() { - host = "0.0.0.0" - } - return fmt.Sprintf("%s:%d", host, port) -} - -// LogAboutUseLocalHostAsDefault logs about the upcoming change from 0.0.0.0 to localhost on server-like components. -func LogAboutUseLocalHostAsDefault(logger *zap.Logger) { - if !UseLocalHostAsDefaultHostfeatureGate.IsEnabled() { - logger.Info( - "The default endpoints for all servers in components have changed to use localhost instead of 0.0.0.0. Use the feature gate to temporarily revert to the previous default.", - zap.String("feature gate ID", UseLocalHostAsDefaultHostID), - ) - } -} diff --git a/internal/common/localhostgate/featuregate_test.go b/internal/common/localhostgate/featuregate_test.go deleted file mode 100644 index 3c2972ccab4b..000000000000 --- a/internal/common/localhostgate/featuregate_test.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package localhostgate - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/featuregate" -) - -func setFeatureGateForTest(t testing.TB, gate *featuregate.Gate, enabled bool) func() { - originalValue := gate.IsEnabled() - require.NoError(t, featuregate.GlobalRegistry().Set(gate.ID(), enabled)) - return func() { - require.NoError(t, featuregate.GlobalRegistry().Set(gate.ID(), originalValue)) - } -} - -func TestEndpointForPort(t *testing.T) { - tests := []struct { - port int - enabled bool - endpoint string - }{ - { - port: 4317, - enabled: false, - endpoint: "0.0.0.0:4317", - }, - { - port: 4317, - enabled: true, - endpoint: "localhost:4317", - }, - { - port: 0, - enabled: false, - endpoint: "0.0.0.0:0", - }, - { - port: 0, - enabled: true, - endpoint: "localhost:0", - }, - } - - for _, tt := range tests { - t.Run(tt.endpoint, func(t *testing.T) { - defer setFeatureGateForTest(t, UseLocalHostAsDefaultHostfeatureGate, tt.enabled)() - assert.Equal(t, EndpointForPort(tt.port), tt.endpoint) - }) - } -} diff --git a/internal/common/testutil/testutil.go b/internal/common/testutil/testutil.go index 3e69230cf6e0..1968e44d7a33 100644 --- a/internal/common/testutil/testutil.go +++ b/internal/common/testutil/testutil.go @@ -4,6 +4,7 @@ package testutil // import "github.com/open-telemetry/opentelemetry-collector-contrib/internal/common/testutil" import ( + "fmt" "net" "os/exec" "runtime" @@ -145,3 +146,8 @@ func GetAvailablePort(t testing.TB) int { return portInt } + +// EndpointForPort gets the endpoint for a given port using localhost. +func EndpointForPort(port int) string { + return fmt.Sprintf("localhost:%d", port) +} diff --git a/internal/common/testutil/testutil_test.go b/internal/common/testutil/testutil_test.go index 9d0e03649612..2f662ca8afc1 100644 --- a/internal/common/testutil/testutil_test.go +++ b/internal/common/testutil/testutil_test.go @@ -42,6 +42,10 @@ func TestGetAvailableLocalUDPAddress(t *testing.T) { require.Nil(t, ln1) } +func TestEndpointForPort(t *testing.T) { + require.Equal(t, "localhost:22", EndpointForPort(22)) +} + func TestCreateExclusionsList(t *testing.T) { // Test two examples of typical output from "netsh interface ipv4 show excludedportrange protocol=tcp" emptyExclusionsText := ` diff --git a/internal/coreinternal/aggregateutil/aggregate.go b/internal/coreinternal/aggregateutil/aggregate.go index dcfe176be121..c7bc4613b716 100644 --- a/internal/coreinternal/aggregateutil/aggregate.go +++ b/internal/coreinternal/aggregateutil/aggregate.go @@ -33,9 +33,21 @@ func CopyMetricDetails(from, to pmetric.Metric) { } func FilterAttrs(metric pmetric.Metric, filterAttrKeys []string) { - if len(filterAttrKeys) == 0 { + // filterAttrKeys being nil means the filter is to be skipped. + if filterAttrKeys == nil { return } + // filterAttrKeys being empty means it is explicitly expected to filter + // against an empty label set, which is functionally the same as removing + // all attributes. + if len(filterAttrKeys) == 0 { + RangeDataPointAttributes(metric, func(attrs pcommon.Map) bool { + attrs.Clear() + return true + }) + } + // filterAttrKeys having provided attributes means the filter continues + // as normal. RangeDataPointAttributes(metric, func(attrs pcommon.Map) bool { attrs.RemoveIf(func(k string, _ pcommon.Value) bool { return isNotPresent(k, filterAttrKeys) diff --git a/internal/coreinternal/aggregateutil/aggregate_test.go b/internal/coreinternal/aggregateutil/aggregate_test.go index a1e986b988e2..642e44996dd8 100644 --- a/internal/coreinternal/aggregateutil/aggregate_test.go +++ b/internal/coreinternal/aggregateutil/aggregate_test.go @@ -125,9 +125,7 @@ func Test_FilterAttributes(t *testing.T) { want: func() pmetric.Metric { m := pmetric.NewMetric() s := m.SetEmptySum() - d := s.DataPoints().AppendEmpty() - d.Attributes().PutStr("attr1", "val1") - d.Attributes().PutStr("attr2", "val2") + s.DataPoints().AppendEmpty() return m }, }, diff --git a/internal/coreinternal/attraction/attraction.go b/internal/coreinternal/attraction/attraction.go index 19f3c46f061f..b1a5083eba71 100644 --- a/internal/coreinternal/attraction/attraction.go +++ b/internal/coreinternal/attraction/attraction.go @@ -34,7 +34,7 @@ type ActionKeyValue struct { // The type of the value is inferred from the configuration. Value any `mapstructure:"value"` - // A regex pattern must be specified for the action EXTRACT. + // A regex pattern must be specified for the action EXTRACT. // It uses the attribute specified by `key' to extract values from // The target keys are inferred based on the names of the matcher groups // provided and the names will be inferred based on the values of the diff --git a/internal/coreinternal/consumerretry/logs_test.go b/internal/coreinternal/consumerretry/logs_test.go index c4e6321b638e..7193797b76e7 100644 --- a/internal/coreinternal/consumerretry/logs_test.go +++ b/internal/coreinternal/consumerretry/logs_test.go @@ -88,8 +88,7 @@ func TestConsumeLogs_ContextDeadline(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Millisecond) defer cancel() err := consumer.ConsumeLogs(ctx, testdata.GenerateLogsTwoLogRecordsSameResource()) - assert.Error(t, err) - assert.Contains(t, err.Error(), "context is cancelled or timed out retry later") + assert.ErrorContains(t, err, "context is cancelled or timed out retry later") } func TestConsumeLogs_PartialRetry(t *testing.T) { diff --git a/internal/coreinternal/errorutil/grpc.go b/internal/coreinternal/errorutil/grpc.go new file mode 100644 index 000000000000..08b75990f0fc --- /dev/null +++ b/internal/coreinternal/errorutil/grpc.go @@ -0,0 +1,25 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package errorutil // import "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/errorutil" + +import ( + "go.opentelemetry.io/collector/consumer/consumererror" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func GrpcError(err error) error { + s, ok := status.FromError(err) + if !ok { + // Default to a retryable error + // https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#failures + code := codes.Unavailable + if consumererror.IsPermanent(err) { + // non-retryable error + code = codes.Unknown + } + s = status.New(code, err.Error()) + } + return s.Err() +} diff --git a/internal/coreinternal/errorutil/http.go b/internal/coreinternal/errorutil/http.go new file mode 100644 index 000000000000..0a78f602f7ed --- /dev/null +++ b/internal/coreinternal/errorutil/http.go @@ -0,0 +1,23 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package errorutil // import "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/errorutil" + +import ( + "net/http" + + "go.opentelemetry.io/collector/consumer/consumererror" +) + +func HTTPError(w http.ResponseWriter, err error) { + if err == nil { + return + } + // non-retryable status + status := http.StatusBadRequest + if !consumererror.IsPermanent(err) { + // retryable status + status = http.StatusServiceUnavailable + } + http.Error(w, err.Error(), status) +} diff --git a/internal/coreinternal/go.mod b/internal/coreinternal/go.mod index 0c6c0ef7e1f8..cedc18140b56 100644 --- a/internal/coreinternal/go.mod +++ b/internal/coreinternal/go.mod @@ -6,23 +6,25 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 github.com/docker/go-connections v0.5.0 github.com/elastic/lunes v0.1.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 github.com/testcontainers/testcontainers-go v0.31.0 - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/client v1.18.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/text v0.17.0 + golang.org/x/text v0.19.0 + google.golang.org/grpc v1.67.1 ) require ( @@ -30,7 +32,6 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Microsoft/hcsshim v0.11.4 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/containerd/containerd v1.7.15 // indirect github.com/containerd/log v0.1.0 // indirect @@ -58,42 +59,36 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/morikuni/aec v1.0.0 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/mod v0.19.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/tools v0.23.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/coreinternal/go.sum b/internal/coreinternal/go.sum index e74573a400bc..6609a6f70882 100644 --- a/internal/coreinternal/go.sum +++ b/internal/coreinternal/go.sum @@ -8,8 +8,6 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -64,8 +62,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= @@ -89,8 +85,6 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -101,14 +95,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= @@ -134,49 +120,50 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.opentelemetry.io/collector v0.108.1 h1:c3JZU5g5KezDXaMgL7GDFB7ihuLNzXo6eBuaJOmBiDA= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -214,14 +201,14 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -235,14 +222,14 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 h1:0+ozOGcrp+Y8Aq8TLNN2Aliibms5LEzsq99ZZmAGYm0= -google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094/go.mod h1:fJ/e3If/Q67Mj99hin0hMhiNyCRmt6BQ2aWIJshUSJw= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/coreinternal/goldendataset/metrics_gen.go b/internal/coreinternal/goldendataset/metrics_gen.go index 044cde1606ff..fea84d9abf4f 100644 --- a/internal/coreinternal/goldendataset/metrics_gen.go +++ b/internal/coreinternal/goldendataset/metrics_gen.go @@ -176,7 +176,7 @@ func populateDoubleHistogram(cfg MetricsCfg, dh pmetric.Histogram) { } func setDoubleHistogramBounds(hdp pmetric.HistogramDataPoint, bounds ...float64) { - counts := make([]uint64, len(bounds)) + counts := make([]uint64, len(bounds)+1) hdp.BucketCounts().FromRaw(counts) hdp.ExplicitBounds().FromRaw(bounds) } diff --git a/internal/coreinternal/goldendataset/metrics_gen_test.go b/internal/coreinternal/goldendataset/metrics_gen_test.go index 6cfc4b33f0a0..9b78c6615829 100644 --- a/internal/coreinternal/goldendataset/metrics_gen_test.go +++ b/internal/coreinternal/goldendataset/metrics_gen_test.go @@ -49,7 +49,7 @@ func TestDoubleHistogramFunctions(t *testing.T) { pt := pmetric.NewHistogramDataPoint() setDoubleHistogramBounds(pt, 1, 2, 3, 4, 5) require.Equal(t, 5, pt.ExplicitBounds().Len()) - require.Equal(t, 5, pt.BucketCounts().Len()) + require.Equal(t, 6, pt.BucketCounts().Len()) addDoubleHistogramVal(pt, 1) require.EqualValues(t, 1, pt.Count()) @@ -75,7 +75,7 @@ func TestGenDoubleHistogram(t *testing.T) { pts := getMetric(md).Histogram().DataPoints() pt := pts.At(0) buckets := pt.BucketCounts() - require.Equal(t, 5, buckets.Len()) + require.Equal(t, 6, buckets.Len()) require.EqualValues(t, 2, buckets.At(2)) } diff --git a/internal/coreinternal/goldendataset/resource_generator.go b/internal/coreinternal/goldendataset/resource_generator.go index 03e82dfcdb1e..0f9ae0986346 100644 --- a/internal/coreinternal/goldendataset/resource_generator.go +++ b/internal/coreinternal/goldendataset/resource_generator.go @@ -5,7 +5,7 @@ package goldendataset // import "github.com/open-telemetry/opentelemetry-collect import ( "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.18.0" ) // GenerateResource generates a PData Resource object with representative attributes for the diff --git a/internal/coreinternal/goldendataset/resource_generator_test.go b/internal/coreinternal/goldendataset/resource_generator_test.go index b92e7c4da5e6..79474113c207 100644 --- a/internal/coreinternal/goldendataset/resource_generator_test.go +++ b/internal/coreinternal/goldendataset/resource_generator_test.go @@ -16,7 +16,7 @@ func TestGenerateResource(t *testing.T) { if rscID == ResourceEmpty { assert.Equal(t, 0, rsc.Attributes().Len()) } else { - assert.Greater(t, rsc.Attributes().Len(), 0) + assert.Positive(t, rsc.Attributes().Len()) } } } diff --git a/internal/coreinternal/goldendataset/span_generator.go b/internal/coreinternal/goldendataset/span_generator.go index a72cb327fa38..ce2d703713b1 100644 --- a/internal/coreinternal/goldendataset/span_generator.go +++ b/internal/coreinternal/goldendataset/span_generator.go @@ -10,7 +10,7 @@ import ( "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.12.0" ) var statusCodeMap = map[PICTInputStatus]ptrace.StatusCode{ diff --git a/internal/coreinternal/parseutils/uri.go b/internal/coreinternal/parseutils/uri.go index 048e90e38389..cd154b9d36cc 100644 --- a/internal/coreinternal/parseutils/uri.go +++ b/internal/coreinternal/parseutils/uri.go @@ -8,7 +8,7 @@ import ( "strconv" "strings" - semconv "go.opentelemetry.io/collector/semconv/v1.25.0" + semconv "go.opentelemetry.io/collector/semconv/v1.27.0" ) const ( diff --git a/internal/coreinternal/parseutils/uri_test.go b/internal/coreinternal/parseutils/uri_test.go index f2cab56aa3bd..26c98240ea8e 100644 --- a/internal/coreinternal/parseutils/uri_test.go +++ b/internal/coreinternal/parseutils/uri_test.go @@ -8,7 +8,7 @@ import ( "testing" "github.com/stretchr/testify/require" - semconv "go.opentelemetry.io/collector/semconv/v1.25.0" + semconv "go.opentelemetry.io/collector/semconv/v1.27.0" ) // Test all usecases: absolute uri, relative uri, query string diff --git a/internal/coreinternal/scraperinttest/scraperint.go b/internal/coreinternal/scraperinttest/scraperint.go index 8987ef145455..3d650a2c284d 100644 --- a/internal/coreinternal/scraperinttest/scraperint.go +++ b/internal/coreinternal/scraperinttest/scraperint.go @@ -16,6 +16,7 @@ import ( "unicode" "github.com/docker/go-connections/nat" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/testcontainers/testcontainers-go" "go.opentelemetry.io/collector/component" @@ -74,7 +75,7 @@ func (it *IntegrationTest) Run(t *testing.T) { observedZapCore, observedLogs := observer.New(zap.WarnLevel) settings.Logger = zap.New(observedZapCore) - rcvr, err := it.factory.CreateMetricsReceiver(context.Background(), settings, cfg, sink) + rcvr, err := it.factory.CreateMetrics(context.Background(), settings, cfg, sink) require.NoError(t, err, "failed creating metrics receiver") require.NoError(t, rcvr.Start(context.Background(), componenttest.NewNopHost())) defer func() { @@ -142,7 +143,7 @@ func (it *IntegrationTest) createContainers(t *testing.T) *ContainerInfo { for _, cr := range it.containerRequests { go func(req testcontainers.ContainerRequest) { var errs error - require.Eventuallyf(t, func() bool { + assert.Eventuallyf(t, func() bool { c, err := testcontainers.GenericContainer( context.Background(), testcontainers.GenericContainerRequest{ diff --git a/internal/coreinternal/timeutils/parser.go b/internal/coreinternal/timeutils/parser.go index 7b15ca4054f4..82c5523292e1 100644 --- a/internal/coreinternal/timeutils/parser.go +++ b/internal/coreinternal/timeutils/parser.go @@ -4,6 +4,7 @@ package timeutils // import "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/timeutils" import ( + "errors" "fmt" "regexp" "strings" @@ -28,27 +29,15 @@ func ParseStrptime(layout string, value any, location *time.Location) (time.Time return ParseGotime(goLayout, value, location) } -// ParseLocalizedStrptime is like ParseStrptime, but instead of parsing a formatted time in -// English, it parses a value in foreign language, and returns the [time.Time] it represents. -// The language argument must be a well-formed BCP 47 language tag (e.g.: "en", "en-US"), and -// a known CLDR locale. +// ParseLocalizedStrptime is like ParseLocalizedGotime, but instead of using the native Go time layout, +// it uses the ctime-like format. func ParseLocalizedStrptime(layout string, value any, location *time.Location, language string) (time.Time, error) { goLayout, err := strptime.ToNative(layout) if err != nil { return time.Time{}, err } - stringValue, err := convertParsingValue(value) - if err != nil { - return time.Time{}, err - } - - translatedVal, err := lunes.Translate(goLayout, stringValue, language) - if err != nil { - return time.Time{}, err - } - - return ParseGotime(goLayout, translatedVal, location) + return ParseLocalizedGotime(goLayout, value, location, language) } func GetLocation(location *string, layout *string) (*time.Location, error) { @@ -69,6 +58,24 @@ func GetLocation(location *string, layout *string) (*time.Location, error) { return time.Local, nil } +// ParseLocalizedGotime is like ParseGotime, but instead of parsing a formatted time in +// English, it parses a value in foreign language, and returns the [time.Time] it represents. +// The language argument must be a well-formed BCP 47 language tag (e.g.: "en", "en-US"), and +// a known CLDR locale. +func ParseLocalizedGotime(layout string, value any, location *time.Location, language string) (time.Time, error) { + stringValue, err := convertParsingValue(value) + if err != nil { + return time.Time{}, err + } + + translatedVal, err := lunes.Translate(layout, stringValue, language) + if err != nil { + return time.Time{}, err + } + + return ParseGotime(layout, translatedVal, location) +} + func ParseGotime(layout string, value any, location *time.Location) (time.Time, error) { timeValue, err := parseGotime(layout, value, location) if err != nil { @@ -155,5 +162,21 @@ func ValidateGotime(layout string) error { return nil } +// ValidateLocale checks the given locale and returns an error if the language tag +// is not supported by the localized parser functions. +func ValidateLocale(locale string) error { + _, err := lunes.NewDefaultLocale(locale) + if err == nil { + return nil + } + + var e *lunes.ErrUnsupportedLocale + if errors.As(err, &e) { + return fmt.Errorf("unsupported locale '%s', value must be a supported BCP 47 language tag", locale) + } + + return fmt.Errorf("invalid locale '%s': %w", locale, err) +} + // Allows tests to override with deterministic value var Now = time.Now diff --git a/internal/coreinternal/timeutils/parser_test.go b/internal/coreinternal/timeutils/parser_test.go index 5d20725561b4..80d572ef2c70 100644 --- a/internal/coreinternal/timeutils/parser_test.go +++ b/internal/coreinternal/timeutils/parser_test.go @@ -13,8 +13,7 @@ import ( func TestParseGoTimeBadLocation(t *testing.T) { _, err := ParseGotime(time.RFC822, "02 Jan 06 15:04 BST", time.UTC) - require.Error(t, err) - require.Contains(t, err.Error(), "failed to load location BST") + require.ErrorContains(t, err, "failed to load location BST") } func Test_setTimestampYear(t *testing.T) { @@ -165,3 +164,73 @@ func TestParseLocalizedStrptimeInvalidType(t *testing.T) { require.Error(t, err) require.ErrorContains(t, err, "cannot be parsed as a time") } + +func TestParseLocalizedGotime(t *testing.T) { + tests := []struct { + name string + format string + value any + language string + expected time.Time + location *time.Location + }{ + { + name: "Foreign language", + format: "January 02 Monday, 2006, 03:04:05 pm", + value: "Febrero 25 jueves, 1993, 02:03:04 p.m.", + expected: time.Date(1993, 2, 25, 14, 3, 4, 0, time.Local), + location: time.Local, + language: "es-ES", + }, + { + name: "Foreign language with location", + format: "Monday Jan _2 2006", + value: "mercoledì set 4 2024", + expected: time.Date(2024, 9, 4, 0, 0, 0, 0, time.UTC), + location: time.UTC, + language: "it-IT", + }, + { + name: "String value", + format: "January 02 Monday, 2006, 03:04:05 PM", + value: "March 12 Friday, 2004, 02:03:04 AM", + expected: time.Date(2004, 3, 12, 2, 3, 4, 0, time.Local), + location: time.Local, + language: "en", + }, + { + name: "Bytes value", + format: "Jan 02 Mon, 06, 03:04:05 PM", + value: []byte("Jun 10 Fri, 04, 02:03:04 AM"), + expected: time.Date(2004, 6, 10, 2, 3, 4, 0, time.Local), + location: time.Local, + language: "en-US", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result, err := ParseLocalizedGotime(tt.format, tt.value, tt.location, tt.language) + require.NoError(t, err) + assert.Equal(t, tt.expected.UnixNano(), result.UnixNano()) + }) + } +} + +func TestParseLocalizedGotimeInvalidType(t *testing.T) { + value := time.Now().UnixNano() + _, err := ParseLocalizedStrptime("Mon", value, time.Local, "en") + require.Error(t, err) + require.ErrorContains(t, err, "cannot be parsed as a time") +} + +func TestValidateLocale(t *testing.T) { + require.NoError(t, ValidateLocale("es")) + require.NoError(t, ValidateLocale("en-US")) + require.NoError(t, ValidateLocale("ca-ES-valencia")) +} + +func TestValidateLocaleUnsupported(t *testing.T) { + err := ValidateLocale("foo-bar") + require.ErrorContains(t, err, "unsupported locale 'foo-bar'") +} diff --git a/internal/docker/docker_test.go b/internal/docker/docker_test.go index 9a8b0bfee436..5589bdcef49d 100644 --- a/internal/docker/docker_test.go +++ b/internal/docker/docker_test.go @@ -62,8 +62,7 @@ func TestWatchingTimeouts(t *testing.T) { shouldHaveTaken := time.Now().Add(100 * time.Millisecond).UnixNano() err = cli.LoadContainerList(context.Background()) - require.Error(t, err) - assert.Contains(t, err.Error(), expectedError) + assert.ErrorContains(t, err, expectedError) observed, logs := observer.New(zapcore.WarnLevel) cli, err = NewDockerClient(config, zap.New(observed)) assert.NotNil(t, cli) @@ -120,9 +119,8 @@ func TestFetchingTimeouts(t *testing.T) { ) assert.Nil(t, statsJSON) - require.Error(t, err) - assert.Contains(t, err.Error(), expectedError) + assert.ErrorContains(t, err, expectedError) assert.Len(t, logs.All(), 1) for _, l := range logs.All() { @@ -184,7 +182,7 @@ func TestEventLoopHandlesError(t *testing.T) { wg.Done() } _, err := w.Write([]byte{}) - require.NoError(t, err) + assert.NoError(t, err) })) defer srv.Close() diff --git a/internal/docker/go.mod b/internal/docker/go.mod index 609c229fc884..d949e2cd8951 100644 --- a/internal/docker/go.mod +++ b/internal/docker/go.mod @@ -7,7 +7,7 @@ require ( github.com/docker/docker v26.1.5+incompatible github.com/gobwas/glob v0.2.3 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/confmap v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) @@ -21,7 +21,7 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect diff --git a/internal/docker/go.sum b/internal/docker/go.sum index 89662df17e9a..a36d8b838fb0 100644 --- a/internal/docker/go.sum +++ b/internal/docker/go.sum @@ -24,8 +24,8 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -78,8 +78,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= diff --git a/internal/docker/metadata.yaml b/internal/docker/metadata.yaml index 5407e2033345..94758b0b5e11 100644 --- a/internal/docker/metadata.yaml +++ b/internal/docker/metadata.yaml @@ -1,3 +1,4 @@ status: codeowners: - active: [rmfitzpatrick, jamesmoessis] \ No newline at end of file + active: [jamesmoessis, MovieStoreGuy] + emeritus: [rmfitzpatrick] \ No newline at end of file diff --git a/internal/exp/metrics/go.mod b/internal/exp/metrics/go.mod index a78472b450d3..3bf950fadf46 100644 --- a/internal/exp/metrics/go.mod +++ b/internal/exp/metrics/go.mod @@ -3,12 +3,12 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/me go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 ) require ( @@ -20,12 +20,12 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/exp/metrics/go.sum b/internal/exp/metrics/go.sum index e05ee9039456..2c5c882b34c5 100644 --- a/internal/exp/metrics/go.sum +++ b/internal/exp/metrics/go.sum @@ -31,10 +31,10 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -48,20 +48,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -70,12 +70,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/exp/metrics/metrics_test.go b/internal/exp/metrics/metrics_test.go index df49b71aae60..de6645068fc3 100644 --- a/internal/exp/metrics/metrics_test.go +++ b/internal/exp/metrics/metrics_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - conventions "go.opentelemetry.io/collector/semconv/v1.9.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden" diff --git a/internal/exp/metrics/staleness/staleness.go b/internal/exp/metrics/staleness/staleness.go index dae1870cbfd6..eb52e6861825 100644 --- a/internal/exp/metrics/staleness/staleness.go +++ b/internal/exp/metrics/staleness/staleness.go @@ -102,3 +102,33 @@ func (s *Staleness[T]) Evict() (identity.Stream, bool) { func (s *Staleness[T]) Clear() { s.items.Clear() } + +type Tracker struct { + pq PriorityQueue +} + +func NewTracker() Tracker { + return Tracker{pq: NewPriorityQueue()} +} + +func (stale Tracker) Refresh(ts time.Time, ids ...identity.Stream) { + for _, id := range ids { + stale.pq.Update(id, ts) + } +} + +func (stale Tracker) Collect(max time.Duration) []identity.Stream { + now := NowFunc() + + var ids []identity.Stream + for stale.pq.Len() > 0 { + _, ts := stale.pq.Peek() + if now.Sub(ts) < max { + break + } + id, _ := stale.pq.Pop() + ids = append(ids, id) + } + + return ids +} diff --git a/internal/filter/filterlog/filterlog_test.go b/internal/filter/filterlog/filterlog_test.go index b0a07f16fab1..ebfd5e483d3c 100644 --- a/internal/filter/filterlog/filterlog_test.go +++ b/internal/filter/filterlog/filterlog_test.go @@ -12,7 +12,7 @@ import ( "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/filterconfig" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/filterottl" diff --git a/internal/filter/filtermatcher/filtermatcher_test.go b/internal/filter/filtermatcher/filtermatcher_test.go index 0592fccc4ba8..26a556c3814a 100644 --- a/internal/filter/filtermatcher/filtermatcher_test.go +++ b/internal/filter/filtermatcher/filtermatcher_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/filterconfig" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/filterset" diff --git a/internal/filter/filterspan/filterspan.go b/internal/filter/filterspan/filterspan.go index 2ee4358991fe..734b8a01b756 100644 --- a/internal/filter/filterspan/filterspan.go +++ b/internal/filter/filterspan/filterspan.go @@ -9,7 +9,7 @@ import ( "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter/expr" diff --git a/internal/filter/filterspan/filterspan_test.go b/internal/filter/filterspan/filterspan_test.go index 4b407eb77d71..7dd815b58f12 100644 --- a/internal/filter/filterspan/filterspan_test.go +++ b/internal/filter/filterspan/filterspan_test.go @@ -12,7 +12,7 @@ import ( "go.opentelemetry.io/collector/featuregate" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/testdata" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/traceutil" diff --git a/internal/filter/go.mod b/internal/filter/go.mod index 6a5ed61c3f1f..e9dc6d46a123 100644 --- a/internal/filter/go.mod +++ b/internal/filter/go.mod @@ -5,37 +5,39 @@ go 1.22.0 require ( github.com/expr-lang/expr v1.16.9 github.com/hashicorp/golang-lru/v2 v2.0.7 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 ) require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect + github.com/antchfx/xmlquery v1.4.2 // indirect + github.com/antchfx/xpath v1.3.2 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/elastic/go-grok v0.3.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gobwas/glob v0.2.3 // indirect + github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/iancoleman/strcase v0.3.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -44,28 +46,22 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/filter/go.sum b/internal/filter/go.sum index 52c872a00db3..80bc11b9c718 100644 --- a/internal/filter/go.sum +++ b/internal/filter/go.sum @@ -4,8 +4,10 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -22,12 +24,16 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -47,8 +53,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -59,8 +63,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -72,18 +74,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -94,30 +86,29 @@ github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZO github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -127,42 +118,59 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/k8sconfig/go.mod b/internal/k8sconfig/go.mod index 34128ca63027..02492ff07f33 100644 --- a/internal/k8sconfig/go.mod +++ b/internal/k8sconfig/go.mod @@ -4,9 +4,9 @@ go 1.22.0 require ( github.com/openshift/client-go v0.0.0-20210521082421-73d9475a9142 - k8s.io/api v0.31.0 - k8s.io/apimachinery v0.31.0 - k8s.io/client-go v0.31.0 + k8s.io/api v0.31.2 + k8s.io/apimachinery v0.31.2 + k8s.io/client-go v0.31.2 ) require ( diff --git a/internal/k8sconfig/go.sum b/internal/k8sconfig/go.sum index cdd65bc517d2..7a02e4808556 100644 --- a/internal/k8sconfig/go.sum +++ b/internal/k8sconfig/go.sum @@ -483,14 +483,14 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/internal/k8stest/go.mod b/internal/k8stest/go.mod index bd3ad60034b4..60b6786e0539 100644 --- a/internal/k8stest/go.mod +++ b/internal/k8stest/go.mod @@ -5,9 +5,9 @@ go 1.22.0 require ( github.com/docker/docker v26.1.5+incompatible github.com/stretchr/testify v1.9.0 - k8s.io/api v0.31.0 - k8s.io/apimachinery v0.31.0 - k8s.io/client-go v0.31.0 + k8s.io/api v0.31.2 + k8s.io/apimachinery v0.31.2 + k8s.io/client-go v0.31.2 ) require ( diff --git a/internal/k8stest/go.sum b/internal/k8stest/go.sum index 1b362e132226..9206a3a72213 100644 --- a/internal/k8stest/go.sum +++ b/internal/k8stest/go.sum @@ -204,12 +204,12 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= diff --git a/internal/kafka/authentication_test.go b/internal/kafka/authentication_test.go index 6571817d5495..1f797e3019b7 100644 --- a/internal/kafka/authentication_test.go +++ b/internal/kafka/authentication_test.go @@ -155,8 +155,7 @@ func TestAuthentication(t *testing.T) { config := &sarama.Config{} err := ConfigureAuthentication(test.auth, config) if test.err != "" { - require.Error(t, err) - assert.Contains(t, err.Error(), test.err) + assert.ErrorContains(t, err, test.err) } else { // equalizes SCRAMClientGeneratorFunc to do assertion with the same reference. config.Net.SASL.SCRAMClientGeneratorFunc = test.saramaConfig.Net.SASL.SCRAMClientGeneratorFunc diff --git a/internal/kafka/go.mod b/internal/kafka/go.mod index 1380e7b10c6c..21d47b61d20d 100644 --- a/internal/kafka/go.mod +++ b/internal/kafka/go.mod @@ -7,7 +7,7 @@ require ( github.com/aws/aws-sdk-go v1.55.5 github.com/stretchr/testify v1.9.0 github.com/xdg-go/scram v1.1.2 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/config/configtls v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 ) @@ -34,7 +34,7 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/sys v0.23.0 // indirect diff --git a/internal/kafka/go.sum b/internal/kafka/go.sum index a35f9faa8ee1..20c4cb6649d7 100644 --- a/internal/kafka/go.sum +++ b/internal/kafka/go.sum @@ -75,10 +75,10 @@ github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3k github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= diff --git a/internal/kubelet/client_test.go b/internal/kubelet/client_test.go index 938bad01a176..f1ac1be5b478 100644 --- a/internal/kubelet/client_test.go +++ b/internal/kubelet/client_test.go @@ -105,9 +105,9 @@ func TestDefaultTLSClient(t *testing.T) { func TestSvcAcctClient(t *testing.T) { server := httptest.NewUnstartedServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { // Check if call is authenticated using token from test file - require.Equal(t, "Bearer s3cr3t", req.Header.Get("Authorization")) + assert.Equal(t, "Bearer s3cr3t", req.Header.Get("Authorization")) _, err := rw.Write([]byte(`OK`)) - require.NoError(t, err) + assert.NoError(t, err) })) cert, err := tls.LoadX509KeyPair(certPath, keyFile) require.NoError(t, err) @@ -174,11 +174,11 @@ func TestNewKubeConfigClient(t *testing.T) { t.Run(tt.name, func(t *testing.T) { server := httptest.NewUnstartedServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { // Check if call is authenticated using provided kubeconfig - require.Equal(t, "Bearer my-token", req.Header.Get("Authorization")) - require.Equal(t, "/api/v1/nodes/nodename/proxy/", req.URL.EscapedPath()) + assert.Equal(t, "Bearer my-token", req.Header.Get("Authorization")) + assert.Equal(t, "/api/v1/nodes/nodename/proxy/", req.URL.EscapedPath()) // Send response to be tested _, err := rw.Write([]byte(`OK`)) - require.NoError(t, err) + assert.NoError(t, err) })) server.StartTLS() defer server.Close() diff --git a/internal/kubelet/go.mod b/internal/kubelet/go.mod index 922bcf9bb6bc..b93dca98a269 100644 --- a/internal/kubelet/go.mod +++ b/internal/kubelet/go.mod @@ -3,13 +3,13 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubele go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/config/configtls v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 - k8s.io/client-go v0.31.0 + k8s.io/client-go v0.31.2 ) require ( @@ -39,7 +39,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/net v0.26.0 // indirect golang.org/x/oauth2 v0.21.0 // indirect @@ -51,8 +51,8 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.31.0 // indirect - k8s.io/apimachinery v0.31.0 // indirect + k8s.io/api v0.31.2 // indirect + k8s.io/apimachinery v0.31.2 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect diff --git a/internal/kubelet/go.sum b/internal/kubelet/go.sum index c6b646a20155..da17f6ea9741 100644 --- a/internal/kubelet/go.sum +++ b/internal/kubelet/go.sum @@ -239,10 +239,10 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -495,14 +495,14 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/internal/metadataproviders/go.mod b/internal/metadataproviders/go.mod index 2c7602c76675..ef47626afc00 100644 --- a/internal/metadataproviders/go.mod +++ b/internal/metadataproviders/go.mod @@ -6,17 +6,17 @@ require ( github.com/Showmax/go-fqdn v1.0.0 github.com/aws/aws-sdk-go v1.55.5 github.com/docker/docker v26.1.5+incompatible - github.com/hashicorp/consul/api v1.29.4 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.108.0 - github.com/shirou/gopsutil/v4 v4.24.8 + github.com/hashicorp/consul/api v1.30.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.112.0 + github.com/shirou/gopsutil/v4 v4.24.9 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/sdk v1.29.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/sdk v1.31.0 go.uber.org/goleak v1.3.0 - k8s.io/api v0.31.0 - k8s.io/apimachinery v0.31.0 - k8s.io/client-go v0.31.0 + k8s.io/api v0.31.2 + k8s.io/apimachinery v0.31.2 + k8s.io/client-go v0.31.2 ) require ( @@ -27,6 +27,7 @@ require ( github.com/distribution/reference v0.5.0 // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.4.0 // indirect + github.com/ebitengine/purego v0.8.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/fatih/color v1.16.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -74,7 +75,6 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect @@ -83,12 +83,12 @@ require ( github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect golang.org/x/net v0.26.0 // indirect golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/term v0.21.0 // indirect golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.4.0 // indirect diff --git a/internal/metadataproviders/go.sum b/internal/metadataproviders/go.sum index 151a9cdb34dc..f09c15e40841 100644 --- a/internal/metadataproviders/go.sum +++ b/internal/metadataproviders/go.sum @@ -84,6 +84,8 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= +github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= @@ -205,10 +207,8 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No= github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU= -github.com/hashicorp/consul/api v1.29.4 h1:P6slzxDLBOxUSj3fWo2o65VuKtbtOXFi7TSSgtXutuE= -github.com/hashicorp/consul/api v1.29.4/go.mod h1:HUlfw+l2Zy68ceJavv2zAyArl2fqhGWnMycyt56sBgg= -github.com/hashicorp/consul/proto-public v0.6.2 h1:+DA/3g/IiKlJZb88NBn0ZgXrxJp2NlvCZdEyl+qxvL0= -github.com/hashicorp/consul/proto-public v0.6.2/go.mod h1:cXXbOg74KBNGajC+o8RlA502Esf0R9prcoJgiOX/2Tg= +github.com/hashicorp/consul/api v1.30.0 h1:ArHVMMILb1nQv8vZSGIwwQd2gtc+oSQZ6CalyiyH2XQ= +github.com/hashicorp/consul/api v1.30.0/go.mod h1:B2uGchvaXVW2JhFoS8nqTxMD5PBykr4ebY4JWHTTeLM= github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -391,12 +391,8 @@ github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99 github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shirou/gopsutil/v4 v4.24.8 h1:pVQjIenQkIhqO81mwTaXjTzOMT7d3TZkf43PlVFHENI= -github.com/shirou/gopsutil/v4 v4.24.8/go.mod h1:wE0OrJtj4dG+hYkxqDH3QiBICdKSf04/npcvLLc/oRg= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.24.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI= +github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= @@ -439,22 +435,22 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 h1:t6wl9SPayj+c7lEIFgm4ooDBZVb01IhLB4InpomhRw8= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0/go.mod h1:iSDOcsnSA5INXzZtwaBPrKp/lWu/V14Dd+llD0oI2EA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI= go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -594,8 +590,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -752,14 +748,14 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= +k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0= +k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw= +k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc= +k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/internal/metadataproviders/internal/internal_test.go b/internal/metadataproviders/internal/internal_test.go index b569c132efe4..48db74f8bd15 100644 --- a/internal/metadataproviders/internal/internal_test.go +++ b/internal/metadataproviders/internal/internal_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - conventions "go.opentelemetry.io/collector/semconv/v1.18.0" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) func TestGOOSToOsType(t *testing.T) { diff --git a/internal/metadataproviders/system/metadata.go b/internal/metadataproviders/system/metadata.go index 6a8dda084dd7..6a394ab4a494 100644 --- a/internal/metadataproviders/system/metadata.go +++ b/internal/metadataproviders/system/metadata.go @@ -13,7 +13,7 @@ import ( "github.com/Showmax/go-fqdn" "github.com/shirou/gopsutil/v4/cpu" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk/resource" diff --git a/internal/otelarrow/compression/zstd/mru_test.go b/internal/otelarrow/compression/zstd/mru_test.go index 4b90f3c62e93..d21038eb1d6d 100644 --- a/internal/otelarrow/compression/zstd/mru_test.go +++ b/internal/otelarrow/compression/zstd/mru_test.go @@ -75,7 +75,9 @@ func TestMRUReset(t *testing.T) { require.Equal(t, 1, m.Size()) // Ensure the monotonic clock has has advanced before resetting. - time.Sleep(10 * time.Millisecond) + for time.Since(time.Time(g)) <= 0 { + time.Sleep(10 * time.Millisecond) + } m.Reset() require.Equal(t, 0, m.Size()) diff --git a/internal/otelarrow/go.mod b/internal/otelarrow/go.mod index 47ed23e68307..02356ed88afa 100644 --- a/internal/otelarrow/go.mod +++ b/internal/otelarrow/go.mod @@ -4,29 +4,30 @@ go 1.22.0 require ( github.com/google/uuid v1.6.0 - github.com/klauspost/compress v1.17.9 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver v0.108.0 - github.com/open-telemetry/otel-arrow v0.26.0 + github.com/klauspost/compress v1.17.11 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/otelarrowexporter v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/otelarrowreceiver v0.112.0 + github.com/open-telemetry/otel-arrow v0.29.0 github.com/stretchr/testify v1.9.0 github.com/wk8/go-ordered-map/v2 v2.1.8 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel v1.29.0 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configgrpc v0.112.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/pdata/testdata v0.112.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/otel v1.31.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - google.golang.org/grpc v1.66.0 + google.golang.org/grpc v1.67.1 ) require ( @@ -35,23 +36,20 @@ require ( github.com/apache/arrow/go/v17 v17.0.0 // indirect github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect github.com/brianvoe/gofakeit/v6 v6.17.0 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/fxamacker/cbor/v2 v2.4.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/goccy/go-json v0.10.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect github.com/google/flatbuffers v24.3.25+incompatible // indirect - github.com/hashicorp/go-version v1.7.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/cpuid/v2 v2.2.8 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect @@ -63,46 +61,39 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mostynb/go-grpc-compression v1.2.3 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/grpcutil v0.108.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/grpcutil v0.112.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.112.0 // indirect github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/component/componentstatus v0.112.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.112.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.18.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.18.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/confmap v1.18.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.28.0 // indirect + golang.org/x/net v0.30.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/tools v0.22.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/otelarrow/go.sum b/internal/otelarrow/go.sum index 32c7bd115b46..cdc36a221bba 100644 --- a/internal/otelarrow/go.sum +++ b/internal/otelarrow/go.sum @@ -11,16 +11,12 @@ github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc h1:Keo7wQ7UODU github.com/axiomhq/hyperloglog v0.0.0-20230201085229-3ddf4bad03dc/go.mod h1:k08r+Yj1PRAmuayFiRK6MYuR5Ve4IuZtTfxErMIh0+c= github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/brianvoe/gofakeit/v6 v6.17.0 h1:obbQTJeHfktJtiZzq0Q1bEpsNUs+yHrYlPVWt7BtmJ4= github.com/brianvoe/gofakeit/v6 v6.17.0/go.mod h1:Ow6qC71xtwm79anlwKRlWZW6zVq9D2XHE4QSSMP/rU8= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -38,8 +34,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -55,16 +51,14 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM= github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= @@ -79,8 +73,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -94,23 +86,13 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.2.3 h1:42/BKWMy0KEJGSdWvzqIyOZ95YcR9mLPqKctH7Uo//I= github.com/mostynb/go-grpc-compression v1.2.3/go.mod h1:AghIxF3P57umzqM9yz795+y1Vjs47Km/Y2FE6ouQ7Lg= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/open-telemetry/otel-arrow v0.26.0 h1:zizyFFtYfVzkjXGtY5iFSR5ognddzwJlD8fGPsVgCLo= -github.com/open-telemetry/otel-arrow v0.26.0/go.mod h1:QGueLcxK3nVjRnVCevyyeCEnI2YkFqgT/TWgw58eVy4= +github.com/open-telemetry/otel-arrow v0.29.0 h1:ymSDyMvxN2x+I7+Zwyrj6IuSjT3nHv2uA8Y+dJGVs9U= +github.com/open-telemetry/otel-arrow v0.29.0/go.mod h1:QGueLcxK3nVjRnVCevyyeCEnI2YkFqgT/TWgw58eVy4= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -128,80 +110,80 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331 h1:mg46oX/pPnLr1DXd+GHXBmnd0n5lUVZXGd11aWpATvI= -go.opentelemetry.io/collector/client v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:BflHYdKRiM2UoqkrQwI+1tQDY9KR+W+sDrJ/o4AR0b8= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331 h1:nymXlP6SN/iNqzbpGczNLDD92y54Kszl7+qPpoNRJxM= -go.opentelemetry.io/collector/component/componentstatus v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:IUDVu7+YJEeIipjx7QfkvSU7Rl2UGW7GqD9Wl51j6jg= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331 h1:WIoF4E8PRUP6aDppuIvIU0l+zTNn7HkWYR+2DGZL2Yk= -go.opentelemetry.io/collector/config/configauth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:aVCPDArbxULEuqIBkzNc5O1ELgkmhUs93jPzH05UbJA= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331 h1:IofEgv9KUFkBJFSO8vCNksgBUhZMjXy8cdiWPgpJuSo= -go.opentelemetry.io/collector/config/configcompression v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331 h1:cW8HE1dZ90VYVuvlp2Oh1oZzCI5OxzG2CQmZOO0rO4w= -go.opentelemetry.io/collector/config/configgrpc v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:rjycI5yGHTDGJtyElIOV3B0FCKmTwDiXE2dhB2H/s/Q= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331 h1:JdDK4mX5uHDRmuKrM7CrmyOKlxyK8U32F6YgwYSO3kE= -go.opentelemetry.io/collector/config/confignet v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331 h1:OccAc+fFeKur+Cr7fvteK+xtaW7Znv9ZCscBjon5jLo= -go.opentelemetry.io/collector/config/internal v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:tRaaE2CNdXE3lUQcIBGJkdBPSGYY3Taa6DzkWmxmgzk= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RxK+PJV8r3nT8I/5HuoaCIbhC4XoxrEIJuzSOrdBpr0= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:4XhFpXCgrSZdrfz5aL1VRk/4+I6QTd34NdAfcKKTJng= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331 h1:M0Asvk7iiHj3TXGqi/fnAo8YcwUZjhbSUH4qBZzR7Ak= -go.opentelemetry.io/collector/extension/auth v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:kcunNfv6/caTApx3C7A/kjWCdP0HUOv8Kdy2maMIUE4= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331 h1:lFNLvq+9hD8wK10jqIiJIoku+kXY+9o/Z3RpzJwawHo= -go.opentelemetry.io/collector/pdata/testdata v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:trK2/7D9UYkvPLDlWtlhLMuDREhJv6zCbDovOZMxJd0= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/component/componentstatus v0.112.0 h1:khR9QKMv1v5MPa4I3TcNxNzFYVdi1x/+1U/44clQdls= +go.opentelemetry.io/collector/component/componentstatus v0.112.0/go.mod h1:cbpNsZrsOAt0/T9urCxMhbzOGs9ijgNDhyALQGs6H4A= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/configgrpc v0.112.0 h1:O0iWgqJPxFlBmRwLGjM5lVYtr660SXVc2sPYbmkdpyY= +go.opentelemetry.io/collector/config/configgrpc v0.112.0/go.mod h1:xUoNqEUr70a91sHaVTIDJeK0d0i89tC1U3SvAqi0rus= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= -go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= @@ -230,8 +212,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -242,12 +224,12 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -269,12 +251,12 @@ gonum.org/v1/gonum v0.15.0 h1:2lYxjRbTYyxkJxlhC+LvJIx3SsANPdRybu1tGj9/OrQ= gonum.org/v1/gonum v0.15.0/go.mod h1:xzZVBJBtS+Mz4q0Yl2LJTk+OxOg4jiXZ7qBoM0uISGo= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/internal/otelarrow/test/e2e_test.go b/internal/otelarrow/test/e2e_test.go index 597bc511bb08..d02ec733917f 100644 --- a/internal/otelarrow/test/e2e_test.go +++ b/internal/otelarrow/test/e2e_test.go @@ -16,7 +16,8 @@ import ( "time" "github.com/open-telemetry/otel-arrow/pkg/datagen" - "github.com/open-telemetry/otel-arrow/pkg/otel/assert" + otel_assert "github.com/open-telemetry/otel-arrow/pkg/otel/assert" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" @@ -47,9 +48,15 @@ import ( type testParams struct { threadCount int requestUntil func(*testConsumer) bool + + // missingDeadline is configured so the zero value implies a deadline, + // which is the default. + missingDeadline bool } type testConsumer struct { + t *testing.T + sink consumertest.TracesSink sentSpans atomic.Int64 @@ -61,6 +68,8 @@ type testConsumer struct { recvSpans *tracetest.InMemoryExporter expSpans *tracetest.InMemoryExporter + + expectDeadline bool } var _ consumer.Traces = &testConsumer{} @@ -79,6 +88,12 @@ func (*testConsumer) Capabilities() consumer.Capabilities { func (tc *testConsumer) ConsumeTraces(ctx context.Context, td ptrace.Traces) error { time.Sleep(time.Duration(float64(time.Millisecond) * (1 + rand.Float64()))) + + dead, hasDeadline := ctx.Deadline() + timeout := time.Until(dead) + + require.Equal(tc.t, tc.expectDeadline, hasDeadline, "deadline set or not set: %v", timeout) + return tc.sink.ConsumeTraces(ctx, td) } @@ -99,7 +114,7 @@ func testLoggerSettings(_ *testing.T) (component.TelemetrySettings, *observer.Ob return tset, obslogs, exp } -func basicTestConfig(t *testing.T, cfgF CfgFunc) (*testConsumer, exporter.Traces, receiver.Traces) { +func basicTestConfig(t *testing.T, tp testParams, cfgF CfgFunc) (*testConsumer, exporter.Traces, receiver.Traces) { ctx := context.Background() efact := otelarrowexporter.NewFactory() @@ -114,6 +129,7 @@ func basicTestConfig(t *testing.T, cfgF CfgFunc) (*testConsumer, exporter.Traces addr := testutil.GetAvailableLocalAddress(t) receiverCfg.Protocols.GRPC.NetAddr.Endpoint = addr + exporterCfg.ClientConfig.Endpoint = addr exporterCfg.ClientConfig.WaitForReady = true exporterCfg.ClientConfig.TLSSetting.Insecure = true @@ -122,6 +138,7 @@ func basicTestConfig(t *testing.T, cfgF CfgFunc) (*testConsumer, exporter.Traces exporterCfg.RetryConfig.Enabled = true exporterCfg.Arrow.NumStreams = 1 exporterCfg.Arrow.MaxStreamLifetime = 5 * time.Second + exporterCfg.Arrow.DisableDowngrade = true if cfgF != nil { cfgF(exporterCfg, receiverCfg) @@ -131,6 +148,8 @@ func basicTestConfig(t *testing.T, cfgF CfgFunc) (*testConsumer, exporter.Traces recvTset, recvLogs, recvSpans := testLoggerSettings(t) testCon := &testConsumer{ + t: t, + recvCfg: receiverCfg, expCfg: exporterCfg, @@ -139,15 +158,17 @@ func basicTestConfig(t *testing.T, cfgF CfgFunc) (*testConsumer, exporter.Traces recvSpans: recvSpans, expSpans: expSpans, + + expectDeadline: !tp.missingDeadline, } - receiver, err := rfact.CreateTracesReceiver(ctx, receiver.Settings{ + receiver, err := rfact.CreateTraces(ctx, receiver.Settings{ ID: component.MustNewID("otelarrowreceiver"), TelemetrySettings: recvTset, }, receiverCfg, testCon) require.NoError(t, err) - exporter, err := efact.CreateTracesExporter(ctx, exporter.Settings{ + exporter, err := efact.CreateTraces(ctx, exporter.Settings{ ID: component.MustNewID("otelarrowexporter"), TelemetrySettings: expTset, }, exporterCfg) @@ -160,7 +181,7 @@ func basicTestConfig(t *testing.T, cfgF CfgFunc) (*testConsumer, exporter.Traces func testIntegrationTraces(ctx context.Context, t *testing.T, tp testParams, cfgf CfgFunc, mkgen MkGen, errf ConsumerErrFunc, endf EndFunc) { host := componenttest.NewNopHost() - testCon, exporter, receiver := basicTestConfig(t, cfgf) + testCon, exporter, receiver := basicTestConfig(t, tp, cfgf) var startWG sync.WaitGroup var exporterShutdownWG sync.WaitGroup @@ -175,18 +196,18 @@ func testIntegrationTraces(ctx context.Context, t *testing.T, tp testParams, cfg // Run the receiver, shutdown after exporter does. go func() { defer receiverShutdownWG.Done() - require.NoError(t, receiver.Start(ctx, host)) + assert.NoError(t, receiver.Start(ctx, host)) exporterShutdownWG.Wait() - require.NoError(t, receiver.Shutdown(ctx)) + assert.NoError(t, receiver.Shutdown(ctx)) }() // Run the exporter and wait for clients to finish go func() { defer exporterShutdownWG.Done() - require.NoError(t, exporter.Start(ctx, host)) + assert.NoError(t, exporter.Start(ctx, host)) startWG.Done() startExporterShutdownWG.Wait() - require.NoError(t, exporter.Shutdown(ctx)) + assert.NoError(t, exporter.Shutdown(ctx)) }() // wait for the exporter to start @@ -287,8 +308,8 @@ func standardEnding(t *testing.T, _ testParams, testCon *testConsumer, expect [] for _, td := range testCon.sink.AllTraces() { receivedJSON = append(receivedJSON, ptraceotlp.NewExportRequestFromTraces(td)) } - asserter := assert.NewStdUnitTest(t) - assert.Equiv(asserter, expectJSON, receivedJSON) + asserter := otel_assert.NewStdUnitTest(t) + otel_assert.Equiv(asserter, expectJSON, receivedJSON) rops = map[string]int{} eops = map[string]int{} @@ -368,13 +389,13 @@ func failureMemoryLimitEnding(t *testing.T, _ testParams, testCon *testConsumer, rSigs, rMsgs := logSigs(testCon.recvLogs) // Test for arrow receiver stream errors on both sides. - require.Less(t, 0, eSigs["arrow stream error|||code///message///where"], "should have exporter arrow stream errors: %v", eMsgs) - require.Less(t, 0, rSigs["arrow stream error|||code///message///where"], "should have receiver arrow stream errors: %v", rSigs) + require.Positive(t, eSigs["arrow stream error|||code///message///where"], "should have exporter arrow stream errors: %v", eMsgs) + require.Positive(t, rSigs["arrow stream error|||code///message///where"], "should have receiver arrow stream errors: %v", rSigs) // Ensure both side's error logs include memory limit errors // one way or another. - require.Less(t, 0, countMemoryLimitErrors(rMsgs), "should have memory limit errors: %v", rMsgs) - require.Less(t, 0, countMemoryLimitErrors(eMsgs), "should have memory limit errors: %v", eMsgs) + require.Positive(t, countMemoryLimitErrors(rMsgs), "should have memory limit errors: %v", rMsgs) + require.Positive(t, countMemoryLimitErrors(eMsgs), "should have memory limit errors: %v", eMsgs) return nil, nil } @@ -425,6 +446,33 @@ func TestIntegrationTracesSimple(t *testing.T) { } } +func TestIntegrationDeadlinePropagation(t *testing.T) { + for _, hasDeadline := range []bool{false, true} { + t.Run(fmt.Sprint("deadline=", hasDeadline), func(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + // Until at least one span is written. + var params = testParams{ + threadCount: 1, + requestUntil: func(test *testConsumer) bool { + return test.sink.SpanCount() < 1 + }, + missingDeadline: !hasDeadline, + } + + testIntegrationTraces(ctx, t, params, func(ecfg *ExpConfig, _ *RecvConfig) { + if !hasDeadline { + // 0 disables the exporthelper-set timeout. + ecfg.TimeoutSettings.Timeout = 0 + } else { + ecfg.TimeoutSettings.Timeout = 37 * time.Minute + } + }, func() GenFunc { return makeTestTraces }, consumerSuccess, standardEnding) + }) + } +} + func TestIntegrationMemoryLimited(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() diff --git a/internal/pdatautil/go.mod b/internal/pdatautil/go.mod index 133b2cecdc64..e65bb52c5a70 100644 --- a/internal/pdatautil/go.mod +++ b/internal/pdatautil/go.mod @@ -3,10 +3,10 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatau go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 ) require ( @@ -18,12 +18,12 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/pdatautil/go.sum b/internal/pdatautil/go.sum index b356b2622b44..68fb1c4236d7 100644 --- a/internal/pdatautil/go.sum +++ b/internal/pdatautil/go.sum @@ -31,8 +31,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -46,20 +46,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -68,12 +68,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/sharedcomponent/go.mod b/internal/sharedcomponent/go.mod index 97cfbde9ba80..41e228286018 100644 --- a/internal/sharedcomponent/go.mod +++ b/internal/sharedcomponent/go.mod @@ -4,41 +4,32 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 go.uber.org/goleak v1.3.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/sharedcomponent/go.sum b/internal/sharedcomponent/go.sum index 507f50e1b5d2..293d9192e1d8 100644 --- a/internal/sharedcomponent/go.sum +++ b/internal/sharedcomponent/go.sum @@ -1,7 +1,3 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -17,50 +13,34 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -76,20 +56,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -98,12 +78,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/splunk/go.mod b/internal/splunk/go.mod index 796972a5a4a3..5378270831e3 100644 --- a/internal/splunk/go.mod +++ b/internal/splunk/go.mod @@ -4,10 +4,10 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 ) @@ -15,36 +15,34 @@ require ( require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/knadh/koanf/maps v0.1.1 // indirect - github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/v2 v2.1.1 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + go.opentelemetry.io/collector/component v0.112.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/text v0.17.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/splunk/go.sum b/internal/splunk/go.sum index c4d7d5070d4c..ff76ea128862 100644 --- a/internal/splunk/go.sum +++ b/internal/splunk/go.sum @@ -1,18 +1,13 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -24,93 +19,73 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= -github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= -github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= -github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= -github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331 h1:B9JmiTlSKdtMlyiqB9j64o1dg60Xkeeh/4gj7meSEfA= -go.opentelemetry.io/collector/config/configretry v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.1 h1:WLvi27Vu5nkltjhmdN+pDO9EuRphYpOQxoqZ9A3RkKU= -go.opentelemetry.io/collector/consumer/consumertest v0.108.1/go.mod h1:tRqOtUukG76iBlPTAUwFSU87dDO+x33Gyn2x9mecfko= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.1 h1:2MJG4sCWl8mdDRvLq4OrM1jGkdCu4Fzepp2JhZazcOc= -go.opentelemetry.io/collector/exporter/exporterprofiles v0.108.1/go.mod h1:QvUX9JiLT/+FfPXrZY8ZVyg0WDCGO7gF4aGVp5g08dA= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.1 h1:YQgDv69v3fgd6uoiGZ+vUdUPdNzoodbLzjB7XfdQvxs= -go.opentelemetry.io/collector/receiver v0.108.1/go.mod h1:eKe/VJgdvHr8JsBDma/PF3DlaheTRC2X6AmCUByJCNU= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -134,8 +109,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= @@ -150,10 +125,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/internal/splunk/hostid.go b/internal/splunk/hostid.go index 8a9305567cbb..588a1180f50b 100644 --- a/internal/splunk/hostid.go +++ b/internal/splunk/hostid.go @@ -8,7 +8,7 @@ import ( "strings" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) // HostIDKey represents a host identifier. diff --git a/internal/splunk/hostid_test.go b/internal/splunk/hostid_test.go index 292888fdef5c..0da55b6b972a 100644 --- a/internal/splunk/hostid_test.go +++ b/internal/splunk/hostid_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" "go.opentelemetry.io/collector/pdata/pcommon" - conventions "go.opentelemetry.io/collector/semconv/v1.6.1" + conventions "go.opentelemetry.io/collector/semconv/v1.27.0" ) var ( diff --git a/internal/sqlquery/go.mod b/internal/sqlquery/go.mod index 54875179b820..65f2b6bb277c 100644 --- a/internal/sqlquery/go.mod +++ b/internal/sqlquery/go.mod @@ -3,16 +3,16 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/internal/sqlque go 1.22.0 require ( - github.com/SAP/go-hdb v1.12.0 + github.com/SAP/go-hdb v1.12.4 github.com/go-sql-driver/mysql v1.8.1 github.com/lib/pq v1.10.9 github.com/microsoft/go-mssqldb v1.7.2 - github.com/sijms/go-ora/v2 v2.8.19 - github.com/snowflakedb/gosnowflake v1.11.1 + github.com/sijms/go-ora/v2 v2.8.22 + github.com/snowflakedb/gosnowflake v1.11.2 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/receiver v0.112.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 ) @@ -39,8 +39,6 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 // indirect github.com/aws/smithy-go v1.20.2 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect @@ -70,39 +68,32 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pierrec/lz4/v4 v4.1.18 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/internal/sqlquery/go.sum b/internal/sqlquery/go.sum index d9757f5fb1f3..9eed4500d56e 100644 --- a/internal/sqlquery/go.sum +++ b/internal/sqlquery/go.sum @@ -20,8 +20,8 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1 h1:DzHpqpoJVaC github.com/AzureAD/microsoft-authentication-library-for-go v1.2.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= -github.com/SAP/go-hdb v1.12.0 h1:ZSjQqVfOITKMiLN7ycbfRncrNcjzRw9/p349v4oEODI= -github.com/SAP/go-hdb v1.12.0/go.mod h1:0DG4r/GryOydt1Z+ZardSS806ADjty2bR0wCPFpOzZA= +github.com/SAP/go-hdb v1.12.4 h1:Oje5j/Ua6Yh5qwSy5xhXpJoooEi6vaj/ubbk3q5DWJQ= +github.com/SAP/go-hdb v1.12.4/go.mod h1:baXEfHaYh5yPBSS+N6MsENYcton1coQMx3HlNHOx8vU= github.com/apache/arrow/go/v15 v15.0.0 h1:1zZACWf85oEZY5/kd9dsQS7i+2G5zVQcbKTHgslqHNA= github.com/apache/arrow/go/v15 v15.0.0/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= @@ -62,10 +62,6 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= -github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -155,8 +151,6 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= @@ -164,22 +158,14 @@ github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmd github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/sijms/go-ora/v2 v2.8.19 h1:7LoKZatDYGi18mkpQTR/gQvG9yOdtc7hPAex96Bqisc= -github.com/sijms/go-ora/v2 v2.8.19/go.mod h1:EHxlY6x7y9HAsdfumurRfTd+v8NrEOTR3Xl4FWlH6xk= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/sijms/go-ora/v2 v2.8.22 h1:3ABgRzVKxS439cEgSLjFKutIwOyhnyi4oOSBywEdOlU= +github.com/sijms/go-ora/v2 v2.8.22/go.mod h1:QgFInVi3ZWyqAiJwzBQA+nbKYKH77tdp1PYoCqhR2dU= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/snowflakedb/gosnowflake v1.11.1 h1:E91s8vBOSroaSTLsyjO4QPkEuzGmZcCxEFQLg214mvk= -github.com/snowflakedb/gosnowflake v1.11.1/go.mod h1:WFe+8mpsapDaQjHX6BqJBKtfQCGlGD3lHKeDsKfpx2A= +github.com/snowflakedb/gosnowflake v1.11.2 h1:eAMsxrCiC6ij5wX3dHx1TQCBOdDmCK062Ir8rndUkRg= +github.com/snowflakedb/gosnowflake v1.11.2/go.mod h1:WFe+8mpsapDaQjHX6BqJBKtfQCGlGD3lHKeDsKfpx2A= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -200,38 +186,38 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.1 h1:WLvi27Vu5nkltjhmdN+pDO9EuRphYpOQxoqZ9A3RkKU= -go.opentelemetry.io/collector/consumer/consumertest v0.108.1/go.mod h1:tRqOtUukG76iBlPTAUwFSU87dDO+x33Gyn2x9mecfko= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.1 h1:OKZgNmUvX+FtavWnlh79IsQ7mF53ZewDc3Osnt1txQU= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.1/go.mod h1:Froo0jQi0zrRJ9fPI0vXi59SSGYplLHgx42qJmvUyTw= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -243,8 +229,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 h1:/RIbNt/Zr7rVhIkQhooTxCxFcdWLGIKnZA4IXNFSrvo= golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -280,19 +266,19 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -310,10 +296,10 @@ gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/internal/sqlquery/metrics.go b/internal/sqlquery/metrics.go index 01cb8dbae856..4ffcde6d3f62 100644 --- a/internal/sqlquery/metrics.go +++ b/internal/sqlquery/metrics.go @@ -4,6 +4,7 @@ package sqlquery // import "github.com/open-telemetry/opentelemetry-collector-contrib/internal/sqlquery" import ( + "errors" "fmt" "strconv" @@ -18,36 +19,38 @@ func rowToMetric(row StringMap, cfg MetricCfg, dest pmetric.Metric, startTime pc dest.SetUnit(cfg.Unit) dataPointSlice := setMetricFields(cfg, dest) dataPoint := dataPointSlice.AppendEmpty() + var errs []error if cfg.StartTsColumn != "" { if val, found := row[cfg.StartTsColumn]; found { timestamp, err := strconv.ParseInt(val, 10, 64) if err != nil { - return fmt.Errorf("failed to parse uint64 for %q, value was %q: %w", cfg.StartTsColumn, val, err) + errs = append(errs, fmt.Errorf("failed to parse uint64 for %q, value was %q: %w", cfg.StartTsColumn, val, err)) } startTime = pcommon.Timestamp(timestamp) } else { - return fmt.Errorf("rowToMetric: start_ts_column not found") + errs = append(errs, fmt.Errorf("rowToMetric: start_ts_column not found")) } } if cfg.TsColumn != "" { if val, found := row[cfg.TsColumn]; found { timestamp, err := strconv.ParseInt(val, 10, 64) if err != nil { - return fmt.Errorf("failed to parse uint64 for %q, value was %q: %w", cfg.TsColumn, val, err) + errs = append(errs, fmt.Errorf("failed to parse uint64 for %q, value was %q: %w", cfg.TsColumn, val, err)) } ts = pcommon.Timestamp(timestamp) } else { - return fmt.Errorf("rowToMetric: ts_column not found") + errs = append(errs, fmt.Errorf("rowToMetric: ts_column not found")) } } setTimestamp(cfg, dataPoint, startTime, ts, scrapeCfg) value, found := row[cfg.ValueColumn] if !found { - return fmt.Errorf("rowToMetric: value_column '%s' not found in result set", cfg.ValueColumn) + errs = append(errs, fmt.Errorf("rowToMetric: value_column '%s' not found in result set", cfg.ValueColumn)) } + err := setDataPointValue(cfg, value, dataPoint) if err != nil { - return fmt.Errorf("rowToMetric: %w", err) + errs = append(errs, fmt.Errorf("rowToMetric: %w", err)) } attrs := dataPoint.Attributes() for k, v := range cfg.StaticAttributes { @@ -57,10 +60,10 @@ func rowToMetric(row StringMap, cfg MetricCfg, dest pmetric.Metric, startTime pc if attrVal, found := row[columnName]; found { attrs.PutStr(columnName, attrVal) } else { - return fmt.Errorf("rowToMetric: attribute_column not found: '%s'", columnName) + errs = append(errs, fmt.Errorf("rowToMetric: attribute_column '%s' not found in result set", columnName)) } } - return nil + return errors.Join(errs...) } func setTimestamp(cfg MetricCfg, dp pmetric.NumberDataPoint, startTime pcommon.Timestamp, ts pcommon.Timestamp, scrapeCfg scraperhelper.ControllerConfig) { diff --git a/internal/sqlquery/row_scanner.go b/internal/sqlquery/row_scanner.go index bfda8aab270e..5366f808160c 100644 --- a/internal/sqlquery/row_scanner.go +++ b/internal/sqlquery/row_scanner.go @@ -32,7 +32,7 @@ func newRowScanner(colTypes []colType) *rowScanner { } format := "%v" if t, isTime := v.(time.Time); isTime { - return t.Format(time.RFC3339), nil + return t.Format(time.RFC3339Nano), nil } if reflect.TypeOf(v).Kind() == reflect.Slice { // The Postgres driver returns a []uint8 (ascii string) for decimal and numeric types, diff --git a/internal/sqlquery/scraper_test.go b/internal/sqlquery/scraper_test.go index e4567a189459..208657c7c3e7 100644 --- a/internal/sqlquery/scraper_test.go +++ b/internal/sqlquery/scraper_test.go @@ -456,6 +456,35 @@ func TestScraper_StartAndTS_ErrorOnColumnNotFound(t *testing.T) { assert.Error(t, err) } +func TestScraper_CollectRowToMetricsErrors(t *testing.T) { + client := &FakeDBClient{ + StringMaps: [][]StringMap{{ + { + "mycol": "42", + }, + }}, + } + scrpr := Scraper{ + Client: client, + Query: Query{ + Metrics: []MetricCfg{{ + MetricName: "my.name", + ValueColumn: "mycol_na", + TsColumn: "Ts", + StartTsColumn: "StartTs", + AttributeColumns: []string{"attr_na"}, + DataType: MetricTypeSum, + Aggregation: MetricAggregationCumulative, + }}, + }, + } + _, err := scrpr.Scrape(context.Background()) + assert.ErrorContains(t, err, "rowToMetric: start_ts_column not found") + assert.ErrorContains(t, err, "rowToMetric: ts_column not found") + assert.ErrorContains(t, err, "rowToMetric: value_column 'mycol_na' not found in result set") + assert.ErrorContains(t, err, "rowToMetric: attribute_column 'attr_na' not found in result set") +} + func TestScraper_StartAndTS_ErrorOnParse(t *testing.T) { client := &FakeDBClient{ StringMaps: [][]StringMap{{ diff --git a/internal/tools/go.mod b/internal/tools/go.mod index c1a1113dbf37..692b35856914 100644 --- a/internal/tools/go.mod +++ b/internal/tools/go.mod @@ -1,12 +1,12 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/internal/tools -go 1.22.0 +go 1.22.1 require ( - github.com/Antonboom/testifylint v1.4.3 + github.com/Antonboom/testifylint v1.5.0 github.com/Khan/genqlient v0.7.0 github.com/client9/misspell v0.3.4 - github.com/daixiang0/gci v0.13.4 + github.com/daixiang0/gci v0.13.5 github.com/golangci/golangci-lint v1.59.1 github.com/google/addlicense v1.1.1 github.com/jcchavezs/porto v0.6.0 @@ -16,10 +16,10 @@ require ( go.opentelemetry.io/build-tools/crosslink v0.14.0 go.opentelemetry.io/build-tools/issuegenerator v0.14.0 go.opentelemetry.io/build-tools/multimod v0.14.0 - go.opentelemetry.io/collector/cmd/builder v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/cmd/mdatagen v0.108.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/cmd/builder v0.112.0 + go.opentelemetry.io/collector/cmd/mdatagen v0.112.0 go.uber.org/goleak v1.3.0 - golang.org/x/tools v0.24.0 + golang.org/x/tools v0.26.0 golang.org/x/vuln v1.1.3 gotest.tools/gotestsum v1.12.0 ) @@ -90,7 +90,7 @@ require ( github.com/go-toolsmith/astp v1.1.0 // indirect github.com/go-toolsmith/strparse v1.1.0 // indirect github.com/go-toolsmith/typep v1.1.0 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gofrs/flock v0.8.1 // indirect @@ -131,8 +131,8 @@ require ( github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/parsers/yaml v0.1.0 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect - github.com/knadh/koanf/providers/env v0.1.0 // indirect - github.com/knadh/koanf/providers/file v1.1.0 // indirect + github.com/knadh/koanf/providers/env v1.0.0 // indirect + github.com/knadh/koanf/providers/file v1.1.2 // indirect github.com/knadh/koanf/providers/fs v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect github.com/kulti/thelper v0.6.3 // indirect @@ -169,9 +169,9 @@ require ( github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/polyfloyd/go-errorlint v1.5.2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.3 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect + github.com/prometheus/common v0.59.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/quasilyte/go-ruleguard v0.4.2 // indirect github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect @@ -226,32 +226,32 @@ require ( go-simpler.org/musttag v0.12.2 // indirect go-simpler.org/sloglint v0.7.1 // indirect go.opentelemetry.io/build-tools v0.14.0 // indirect - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/component v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/confmap v1.18.0 // indirect + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 // indirect + go.opentelemetry.io/collector/filter v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/automaxprocs v1.5.3 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect - golang.org/x/mod v0.20.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect + golang.org/x/mod v0.21.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/telemetry v0.0.0-20240522233618-39ace7a40ae7 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect @@ -264,9 +264,6 @@ require ( // openshift removed all tags from their repo, use the pseudoversion from the release-3.9 branch HEAD replace github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 -// It appears that the v0.2.0 tag was modified. Replacing with v0.2.1 -replace github.com/outcaste-io/ristretto v0.2.0 => github.com/outcaste-io/ristretto v0.2.1 - retract ( v0.76.2 v0.76.1 diff --git a/internal/tools/go.sum b/internal/tools/go.sum index 8879c3766f95..df50363eef1f 100644 --- a/internal/tools/go.sum +++ b/internal/tools/go.sum @@ -12,8 +12,8 @@ github.com/Antonboom/errname v0.1.13 h1:JHICqsewj/fNckzrfVSe+T33svwQxmjC+1ntDsHO github.com/Antonboom/errname v0.1.13/go.mod h1:uWyefRYRN54lBg6HseYCFhs6Qjcy41Y3Jl/dVhA87Ns= github.com/Antonboom/nilnil v0.1.9 h1:eKFMejSxPSA9eLSensFmjW2XTgTwJMjZ8hUHtV4s/SQ= github.com/Antonboom/nilnil v0.1.9/go.mod h1:iGe2rYwCq5/Me1khrysB4nwI7swQvjclR8/YRPl5ihQ= -github.com/Antonboom/testifylint v1.4.3 h1:ohMt6AHuHgttaQ1xb6SSnxCeK4/rnK7KKzbvs7DmEck= -github.com/Antonboom/testifylint v1.4.3/go.mod h1:+8Q9+AOLsz5ZiQiiYujJKs9mNz398+M6UgslP4qgJLA= +github.com/Antonboom/testifylint v1.5.0 h1:dlUIsDMtCrZWUnvkaCz3quJCoIjaGi41GzjPBGkkJ8A= +github.com/Antonboom/testifylint v1.5.0/go.mod h1:wqaJbu0Blb5Wag2wv7Z5xt+CIV+eVLxtGZrlK13z3AE= github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/Crocmagnon/fatcontext v0.2.2 h1:OrFlsDdOj9hW/oBEJBNSuH7QWf+E9WPVHw+x52bXVbk= @@ -108,8 +108,8 @@ github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDU github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/daixiang0/gci v0.13.4 h1:61UGkmpoAcxHM2hhNkZEf5SzwQtWJXTSws7jaPyqwlw= -github.com/daixiang0/gci v0.13.4/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk= +github.com/daixiang0/gci v0.13.5 h1:kThgmH1yBmZSBCh1EJVxQ7JsHpm5Oms0AMed/0LaH4c= +github.com/daixiang0/gci v0.13.5/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -179,8 +179,8 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus= github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U= github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -291,10 +291,10 @@ github.com/knadh/koanf/parsers/yaml v0.1.0 h1:ZZ8/iGfRLvKSaMEECEBPM1HQslrZADk8fP github.com/knadh/koanf/parsers/yaml v0.1.0/go.mod h1:cvbUDC7AL23pImuQP0oRw/hPuccrNBS2bps8asS0CwY= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= -github.com/knadh/koanf/providers/env v0.1.0 h1:LqKteXqfOWyx5Ab9VfGHmjY9BvRXi+clwyZozgVRiKg= -github.com/knadh/koanf/providers/env v0.1.0/go.mod h1:RE8K9GbACJkeEnkl8L/Qcj8p4ZyPXZIQ191HJi44ZaQ= -github.com/knadh/koanf/providers/file v1.1.0 h1:MTjA+gRrVl1zqgetEAIaXHqYje0XSosxSiMD4/7kz0o= -github.com/knadh/koanf/providers/file v1.1.0/go.mod h1:/faSBcv2mxPVjFrXck95qeoyoZ5myJ6uxN8OOVNJJCI= +github.com/knadh/koanf/providers/env v1.0.0 h1:ufePaI9BnWH+ajuxGGiJ8pdTG0uLEUWC7/HDDPGLah0= +github.com/knadh/koanf/providers/env v1.0.0/go.mod h1:mzFyRZueYhb37oPmC1HAv/oGEEuyvJDA98r3XAa8Gak= +github.com/knadh/koanf/providers/file v1.1.2 h1:aCC36YGOgV5lTtAFz2qkgtWdeQsgfxUkxDOe+2nQY3w= +github.com/knadh/koanf/providers/file v1.1.2/go.mod h1:/faSBcv2mxPVjFrXck95qeoyoZ5myJ6uxN8OOVNJJCI= github.com/knadh/koanf/providers/fs v0.1.0 h1:9Hln9GS3bWTItAnGVFYyfkoAIxAFq7pvlF64pTNiDdQ= github.com/knadh/koanf/providers/fs v0.1.0/go.mod h1:Cva1yH8NBxkEeVZx8CUmF5TunbgO72E+GwqDbqpP2sE= github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= @@ -396,12 +396,12 @@ github.com/polyfloyd/go-errorlint v1.5.2 h1:SJhVik3Umsjh7mte1vE0fVZ5T1gznasQG3PV github.com/polyfloyd/go-errorlint v1.5.2/go.mod h1:sH1QC1pxxi0fFecsVIzBmxtrgd9IF/SkJpA6wqyKAJs= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4= +github.com/prometheus/client_golang v1.20.3/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= +github.com/prometheus/common v0.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0= +github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs= @@ -552,28 +552,28 @@ go.opentelemetry.io/build-tools/issuegenerator v0.14.0 h1:dC6vpdHPY9NPtgM4rHYrZu go.opentelemetry.io/build-tools/issuegenerator v0.14.0/go.mod h1:DJXbxSC+/6ARtWnpVCRQHZ/9TPRFwDNuZIFGkz3glMM= go.opentelemetry.io/build-tools/multimod v0.14.0 h1:AaM06mlSga3IaCj6eM+Kg9tei062qsU6Z+x6ENmfBWI= go.opentelemetry.io/build-tools/multimod v0.14.0/go.mod h1:lY7ZccnZ6dg4uRcghXa4p9v4IDvI9Yf/XFdlpPO84AA= -go.opentelemetry.io/collector/cmd/builder v0.108.2-0.20240909182537-32cff9f7f331 h1:0kmig02gyPGFtUWx3lnw9FJpNDz9jnLOH+qkehilAJ0= -go.opentelemetry.io/collector/cmd/builder v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:ff6h/vfPWVFkUGgslqJ01oKnWyp3zcMLuIQjbk3rQ4g= -go.opentelemetry.io/collector/cmd/mdatagen v0.108.2-0.20240909182537-32cff9f7f331 h1:8ju5w97OWcRqnZiuqWSMslxlNWoLRXRfWKgQpHs3WQ4= -go.opentelemetry.io/collector/cmd/mdatagen v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:GujYn0zcZkbVozVNT84nbgggJfGO72TJXXT72JqGx9Y= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331 h1:e0bWHjJNsNu/23dyIqm+Sl0fZ/dlrsiloaPu43GsnK4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:3Vl2shpuWraLK7ydsVjDiZuPGxDs+F54/NBLFun0EaU= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331 h1:qt3Ew48qyCQVMrpjCWkQu1N4RzghQUZIxV4X+TBs4ZE= -go.opentelemetry.io/collector/filter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:iNMJ4W+R9LUqr8uyeEIthuOKVEQBMYS32ePBza3Ofbk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/cmd/builder v0.112.0 h1:7hfvY0HpUDVTmBku0LMygY+sDgArz7nXU7iTI2IOJzg= +go.opentelemetry.io/collector/cmd/builder v0.112.0/go.mod h1:pO0F87jHIBmDzCsLB/kEA3EaWHjs1+HgI/pKY0oVQWo= +go.opentelemetry.io/collector/cmd/mdatagen v0.112.0 h1:aJoYHw2Gx+RuNmdFMwMwegH64YzAvBYNI+YhkoXLMhM= +go.opentelemetry.io/collector/cmd/mdatagen v0.112.0/go.mod h1:mY21stFJRoYEYFQrpmluIVw2Gc1KEExbqx8prOVkh/8= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0 h1:eTDRt5w/bTaTWOY/satyprh/7V0zkwLKvm6NQuJ/L+8= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.18.0/go.mod h1:5TQjm3txKu2AuBhO4Dh3H6SOd83RWQGba05Gk4wdE8o= +go.opentelemetry.io/collector/filter v0.112.0 h1:xX0MIfXOkbcWzCcmNqvtpnBDnSZAJmN1nQdyGZk1Or4= +go.opentelemetry.io/collector/filter v0.112.0/go.mod h1:ZcPbD9CLxqcQJ5D2dV2Ma0Hm2IKMOYggTLW8dDdZQSQ= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -594,8 +594,8 @@ golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIi golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM= golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= @@ -616,8 +616,8 @@ golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= -golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= +golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -639,10 +639,10 @@ golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -685,8 +685,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20240522233618-39ace7a40ae7 h1:FemxDzfMUcK2f3YY4H+05K9CDzbSVr2+q/JKN45pey0= golang.org/x/telemetry v0.0.0-20240522233618-39ace7a40ae7/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= @@ -702,8 +702,8 @@ golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -717,8 +717,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -747,8 +747,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= -golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= -golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= +golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= +golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= golang.org/x/vuln v1.1.3 h1:NPGnvPOTgnjBc9HTaUx+nj+EaUYxl5SJOWqaDYGaFYw= golang.org/x/vuln v1.1.3/go.mod h1:7Le6Fadm5FOqE9C926BCD0g12NWyhg7cxV4BwcPFuNY= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -757,10 +757,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/pkg/batchperresourceattr/batchperresourceattr.go b/pkg/batchperresourceattr/batchperresourceattr.go index 92f55b6481da..510b41f6fca2 100644 --- a/pkg/batchperresourceattr/batchperresourceattr.go +++ b/pkg/batchperresourceattr/batchperresourceattr.go @@ -35,9 +35,9 @@ func NewMultiBatchPerResourceTraces(attrKeys []string, next consumer.Traces) con } } -// Capabilities implements the consumer interface. +// Capabilities returns the capabilities of the next consumer because batchTraces doesn't mutate data itself. func (bt *batchTraces) Capabilities() consumer.Capabilities { - return consumer.Capabilities{MutatesData: false} + return bt.next.Capabilities() } func (bt *batchTraces) ConsumeTraces(ctx context.Context, td ptrace.Traces) error { @@ -98,9 +98,9 @@ func NewMultiBatchPerResourceMetrics(attrKeys []string, next consumer.Metrics) c } } -// Capabilities implements the consumer interface. +// Capabilities returns the capabilities of the next consumer because batchMetrics doesn't mutate data itself. func (bt *batchMetrics) Capabilities() consumer.Capabilities { - return consumer.Capabilities{MutatesData: false} + return bt.next.Capabilities() } func (bt *batchMetrics) ConsumeMetrics(ctx context.Context, td pmetric.Metrics) error { @@ -159,9 +159,9 @@ func NewMultiBatchPerResourceLogs(attrKeys []string, next consumer.Logs) consume } } -// Capabilities implements the consumer interface. +// Capabilities returns the capabilities of the next consumer because batchLogs doesn't mutate data itself. func (bt *batchLogs) Capabilities() consumer.Capabilities { - return consumer.Capabilities{MutatesData: false} + return bt.next.Capabilities() } func (bt *batchLogs) ConsumeLogs(ctx context.Context, td plog.Logs) error { diff --git a/pkg/batchperresourceattr/go.mod b/pkg/batchperresourceattr/go.mod index 23b1a03041a7..33472b946a47 100644 --- a/pkg/batchperresourceattr/go.mod +++ b/pkg/batchperresourceattr/go.mod @@ -4,9 +4,9 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 ) @@ -18,14 +18,14 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/batchperresourceattr/go.sum b/pkg/batchperresourceattr/go.sum index c752642be016..efc970a99430 100644 --- a/pkg/batchperresourceattr/go.sum +++ b/pkg/batchperresourceattr/go.sum @@ -29,18 +29,18 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -54,20 +54,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -76,12 +76,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/batchpersignal/go.mod b/pkg/batchpersignal/go.mod index 89f6e55cd3ad..4532188843c1 100644 --- a/pkg/batchpersignal/go.mod +++ b/pkg/batchpersignal/go.mod @@ -4,7 +4,7 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) @@ -17,12 +17,12 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/batchpersignal/go.sum b/pkg/batchpersignal/go.sum index 6959c9bfa558..9c58a0c3e177 100644 --- a/pkg/batchpersignal/go.sum +++ b/pkg/batchpersignal/go.sum @@ -30,8 +30,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -45,20 +45,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -67,12 +67,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/receiver/googlecloudspannerreceiver/Makefile b/pkg/datadog/Makefile similarity index 100% rename from receiver/googlecloudspannerreceiver/Makefile rename to pkg/datadog/Makefile diff --git a/pkg/datadog/config/config.go b/pkg/datadog/config/config.go new file mode 100644 index 000000000000..60542c785993 --- /dev/null +++ b/pkg/datadog/config/config.go @@ -0,0 +1,345 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" + +import ( + "errors" + "fmt" + "strings" + "time" + + "github.com/DataDog/datadog-agent/pkg/util/hostname/validate" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/config/confignet" + "go.opentelemetry.io/collector/config/configopaque" + "go.opentelemetry.io/collector/config/configretry" + "go.opentelemetry.io/collector/confmap" + "go.opentelemetry.io/collector/exporter/exporterhelper" + "go.uber.org/zap" +) + +var ( + // ErrUnsetAPIKey is returned when the API key is not set. + ErrUnsetAPIKey = errors.New("api.key is not set") + // ErrNoMetadata is returned when only_metadata is enabled but host metadata is disabled or hostname_source is not first_resource. + ErrNoMetadata = errors.New("only_metadata can't be enabled when host_metadata::enabled = false or host_metadata::hostname_source != first_resource") + // ErrInvalidHostname is returned when the hostname is invalid. + ErrEmptyEndpoint = errors.New("endpoint cannot be empty") +) + +const ( + // DefaultSite is the default site of the Datadog intake to send data to + DefaultSite = "datadoghq.com" +) + +// APIConfig defines the API configuration options +type APIConfig struct { + // Key is the Datadog API key to associate your Agent's data with your organization. + // Create a new API key here: https://app.datadoghq.com/account/settings + Key configopaque.String `mapstructure:"key"` + + // Site is the site of the Datadog intake to send data to. + // The default value is "datadoghq.com". + Site string `mapstructure:"site"` + + // FailOnInvalidKey states whether to exit at startup on invalid API key. + // The default value is false. + FailOnInvalidKey bool `mapstructure:"fail_on_invalid_key"` +} + +// TagsConfig defines the tag-related configuration +// It is embedded in the configuration +type TagsConfig struct { + // Hostname is the fallback hostname used for payloads without hostname-identifying attributes. + // This option will NOT change the hostname applied to your metrics, traces and logs if they already have hostname-identifying attributes. + // If unset, the hostname will be determined automatically. See https://docs.datadoghq.com/opentelemetry/schema_semantics/hostname/?tab=datadogexporter#fallback-hostname-logic for details. + // + // Prefer using the `datadog.host.name` resource attribute over using this setting. + // See https://docs.datadoghq.com/opentelemetry/schema_semantics/hostname/?tab=datadogexporter#general-hostname-semantic-conventions for details. + Hostname string `mapstructure:"hostname"` +} + +// Config defines configuration for the Datadog exporter. +type Config struct { + confighttp.ClientConfig `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct. + QueueSettings exporterhelper.QueueConfig `mapstructure:"sending_queue"` + configretry.BackOffConfig `mapstructure:"retry_on_failure"` + + TagsConfig `mapstructure:",squash"` + + // API defines the Datadog API configuration. + API APIConfig `mapstructure:"api"` + + // Metrics defines the Metrics exporter specific configuration + Metrics MetricsConfig `mapstructure:"metrics"` + + // Traces defines the Traces exporter specific configuration + Traces TracesExporterConfig `mapstructure:"traces"` + + // Logs defines the Logs exporter specific configuration + Logs LogsConfig `mapstructure:"logs"` + + // HostMetadata defines the host metadata specific configuration + HostMetadata HostMetadataConfig `mapstructure:"host_metadata"` + + // OnlyMetadata defines whether to only send metadata + // This is useful for agent-collector setups, so that + // metadata about a host is sent to the backend even + // when telemetry data is reported via a different host. + // + // This flag is incompatible with disabling host metadata, + // `use_resource_metadata`, or `host_metadata::hostname_source != first_resource` + OnlyMetadata bool `mapstructure:"only_metadata"` + + // Non-fatal warnings found during configuration loading. + warnings []error +} + +// LogWarnings logs warning messages that were generated on unmarshaling. +func (c *Config) LogWarnings(logger *zap.Logger) { + for _, err := range c.warnings { + logger.Warn(fmt.Sprintf("%v", err)) + } +} + +var _ component.Config = (*Config)(nil) + +// Validate the configuration for errors. This is required by component.Config. +func (c *Config) Validate() error { + if err := validateClientConfig(c.ClientConfig); err != nil { + return err + } + + if c.OnlyMetadata && (!c.HostMetadata.Enabled || c.HostMetadata.HostnameSource != HostnameSourceFirstResource) { + return ErrNoMetadata + } + + if err := validate.ValidHostname(c.Hostname); c.Hostname != "" && err != nil { + return fmt.Errorf("hostname field is invalid: %w", err) + } + + if c.API.Key == "" { + return ErrUnsetAPIKey + } + + if err := c.Traces.Validate(); err != nil { + return err + } + + err := c.Metrics.HistConfig.validate() + if err != nil { + return err + } + + return nil +} + +func validateClientConfig(cfg confighttp.ClientConfig) error { + var unsupported []string + if cfg.Auth != nil { + unsupported = append(unsupported, "auth") + } + if cfg.Endpoint != "" { + unsupported = append(unsupported, "endpoint") + } + if cfg.Compression != "" { + unsupported = append(unsupported, "compression") + } + if len(cfg.Headers) > 0 { + unsupported = append(unsupported, "headers") + } + if cfg.HTTP2ReadIdleTimeout != 0 { + unsupported = append(unsupported, "http2_read_idle_timeout") + } + if cfg.HTTP2PingTimeout != 0 { + unsupported = append(unsupported, "http2_ping_timeout") + } + + if len(unsupported) > 0 { + return fmt.Errorf("these confighttp client configs are currently not respected by Datadog exporter: %s", strings.Join(unsupported, ", ")) + } + return nil +} + +var _ error = (*renameError)(nil) + +// renameError is an error related to a renamed setting. +type renameError struct { + // oldName of the configuration option. + oldName string + // newName of the configuration option. + newName string + // issueNumber on opentelemetry-collector-contrib for tracking + issueNumber uint +} + +// List of settings that have been removed, but for which we keep a custom error. +var removedSettings = []renameError{ + { + oldName: "metrics::send_monotonic_counter", + newName: "metrics::sums::cumulative_monotonic_mode", + issueNumber: 8489, + }, + { + oldName: "tags", + newName: "host_metadata::tags", + issueNumber: 9099, + }, + { + oldName: "send_metadata", + newName: "host_metadata::enabled", + issueNumber: 9099, + }, + { + oldName: "use_resource_metadata", + newName: "host_metadata::hostname_source", + issueNumber: 9099, + }, + { + oldName: "metrics::report_quantiles", + newName: "metrics::summaries::mode", + issueNumber: 8845, + }, + { + oldName: "metrics::instrumentation_library_metadata_as_tags", + newName: "metrics::instrumentation_scope_as_tags", + issueNumber: 11135, + }, +} + +// Error implements the error interface. +func (e renameError) Error() string { + return fmt.Sprintf( + "%q was removed in favor of %q. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/%d", + e.oldName, + e.newName, + e.issueNumber, + ) +} + +func handleRemovedSettings(configMap *confmap.Conf) error { + var errs []error + for _, removedErr := range removedSettings { + if configMap.IsSet(removedErr.oldName) { + errs = append(errs, removedErr) + } + } + + return errors.Join(errs...) +} + +var _ confmap.Unmarshaler = (*Config)(nil) + +// Unmarshal a configuration map into the configuration struct. +func (c *Config) Unmarshal(configMap *confmap.Conf) error { + if err := handleRemovedSettings(configMap); err != nil { + return err + } + + err := configMap.Unmarshal(c) + if err != nil { + return err + } + + // Add deprecation warnings for deprecated settings. + renamingWarnings, err := handleRenamedSettings(configMap, c) + if err != nil { + return err + } + c.warnings = append(c.warnings, renamingWarnings...) + + c.API.Key = configopaque.String(strings.TrimSpace(string(c.API.Key))) + + // If an endpoint is not explicitly set, override it based on the site. + if !configMap.IsSet("metrics::endpoint") { + c.Metrics.TCPAddrConfig.Endpoint = fmt.Sprintf("https://api.%s", c.API.Site) + } + if !configMap.IsSet("traces::endpoint") { + c.Traces.TCPAddrConfig.Endpoint = fmt.Sprintf("https://trace.agent.%s", c.API.Site) + } + if !configMap.IsSet("logs::endpoint") { + c.Logs.TCPAddrConfig.Endpoint = fmt.Sprintf("https://http-intake.logs.%s", c.API.Site) + } + + // Return an error if an endpoint is explicitly set to "" + if c.Metrics.TCPAddrConfig.Endpoint == "" || c.Traces.TCPAddrConfig.Endpoint == "" || c.Logs.TCPAddrConfig.Endpoint == "" { + return ErrEmptyEndpoint + } + + const ( + initialValueSetting = "metrics::sums::initial_cumulative_monotonic_value" + cumulMonoMode = "metrics::sums::cumulative_monotonic_mode" + ) + if configMap.IsSet(initialValueSetting) && c.Metrics.SumConfig.CumulativeMonotonicMode != CumulativeMonotonicSumModeToDelta { + return fmt.Errorf("%q can only be configured when %q is set to %q", + initialValueSetting, cumulMonoMode, CumulativeMonotonicSumModeToDelta) + } + + return nil +} + +func defaultClientConfig() confighttp.ClientConfig { + client := confighttp.NewDefaultClientConfig() + client.Timeout = 15 * time.Second + return client +} + +// CreateDefaultConfig creates the default exporter configuration +func CreateDefaultConfig() component.Config { + return &Config{ + ClientConfig: defaultClientConfig(), + BackOffConfig: configretry.NewDefaultBackOffConfig(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + + API: APIConfig{ + Site: "datadoghq.com", + }, + + Metrics: MetricsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://api.datadoghq.com", + }, + DeltaTTL: 3600, + ExporterConfig: MetricsExporterConfig{ + ResourceAttributesAsTags: false, + InstrumentationScopeMetadataAsTags: false, + }, + HistConfig: HistogramConfig{ + Mode: "distributions", + SendAggregations: false, + }, + SumConfig: SumConfig{ + CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, + InitialCumulativeMonotonicMode: InitialValueModeAuto, + }, + SummaryConfig: SummaryConfig{ + Mode: SummaryModeGauges, + }, + }, + + Traces: TracesExporterConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://trace.agent.datadoghq.com", + }, + TracesConfig: TracesConfig{ + IgnoreResources: []string{}, + }, + }, + + Logs: LogsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://http-intake.logs.datadoghq.com", + }, + UseCompression: true, + CompressionLevel: 6, + BatchWait: 5, + }, + + HostMetadata: HostMetadataConfig{ + Enabled: true, + HostnameSource: HostnameSourceConfigOrSystem, + }, + } +} diff --git a/pkg/datadog/config/config_test.go b/pkg/datadog/config/config_test.go new file mode 100644 index 000000000000..d19d51826922 --- /dev/null +++ b/pkg/datadog/config/config_test.go @@ -0,0 +1,727 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" + +import ( + "path/filepath" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/config/configauth" + "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/config/confignet" + "go.opentelemetry.io/collector/config/configopaque" + "go.opentelemetry.io/collector/config/configretry" + "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/confmap" + "go.opentelemetry.io/collector/confmap/confmaptest" + "go.opentelemetry.io/collector/exporter/exporterhelper" +) + +func TestValidate(t *testing.T) { + idleConnTimeout := 30 * time.Second + maxIdleConn := 300 + maxIdleConnPerHost := 150 + maxConnPerHost := 250 + ty, err := component.NewType("ty") + assert.NoError(t, err) + auth := configauth.Authentication{AuthenticatorID: component.NewID(ty)} + + tests := []struct { + name string + cfg *Config + err string + }{ + { + name: "no api::key", + cfg: &Config{}, + err: ErrUnsetAPIKey.Error(), + }, + { + name: "invalid hostname", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + TagsConfig: TagsConfig{Hostname: "invalid_host"}, + }, + err: "hostname field is invalid: invalid_host is not RFC1123 compliant", + }, + { + name: "no metadata", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + OnlyMetadata: true, + HostMetadata: HostMetadataConfig{Enabled: false}, + }, + err: ErrNoMetadata.Error(), + }, + { + name: "span name remapping valid", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Traces: TracesExporterConfig{TracesConfig: TracesConfig{SpanNameRemappings: map[string]string{"old.opentelemetryspan.name": "updated.name"}}}, + }, + }, + { + name: "span name remapping empty val", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Traces: TracesExporterConfig{TracesConfig: TracesConfig{SpanNameRemappings: map[string]string{"oldname": ""}}}, + }, + err: "'' is not valid value for span name remapping", + }, + { + name: "span name remapping empty key", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Traces: TracesExporterConfig{TracesConfig: TracesConfig{SpanNameRemappings: map[string]string{"": "newname"}}}, + }, + err: "'' is not valid key for span name remapping", + }, + { + name: "ignore resources valid", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Traces: TracesExporterConfig{TracesConfig: TracesConfig{IgnoreResources: []string{"[123]"}}}, + }, + }, + { + name: "ignore resources missing bracket", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Traces: TracesExporterConfig{TracesConfig: TracesConfig{IgnoreResources: []string{"[123"}}}, + }, + err: "'[123' is not valid resource filter regular expression", + }, + { + name: "invalid histogram settings", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Metrics: MetricsConfig{ + HistConfig: HistogramConfig{ + Mode: HistogramModeNoBuckets, + SendAggregations: false, + }, + }, + }, + err: "'nobuckets' mode and `send_aggregation_metrics` set to false will send no histogram metrics", + }, + { + name: "TLS settings are valid", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + ClientConfig: confighttp.ClientConfig{ + TLSSetting: configtls.ClientConfig{ + InsecureSkipVerify: true, + }, + }, + }, + }, + { + name: "With trace_buffer", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Traces: TracesExporterConfig{TraceBuffer: 10}, + }, + }, + { + name: "With peer_tags", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + Traces: TracesExporterConfig{ + TracesConfig: TracesConfig{ + PeerTags: []string{"tag1", "tag2"}, + }, + }, + }, + }, + { + name: "With confighttp client configs", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + ClientConfig: confighttp.ClientConfig{ + ReadBufferSize: 100, + WriteBufferSize: 200, + Timeout: 10 * time.Second, + IdleConnTimeout: &idleConnTimeout, + MaxIdleConns: &maxIdleConn, + MaxIdleConnsPerHost: &maxIdleConnPerHost, + MaxConnsPerHost: &maxConnPerHost, + DisableKeepAlives: true, + TLSSetting: configtls.ClientConfig{InsecureSkipVerify: true}, + }, + }, + }, + + { + name: "unsupported confighttp client configs", + cfg: &Config{ + API: APIConfig{Key: "notnull"}, + ClientConfig: confighttp.ClientConfig{ + Endpoint: "endpoint", + Compression: "gzip", + Auth: &auth, + Headers: map[string]configopaque.String{"key": "val"}, + HTTP2ReadIdleTimeout: 250, + HTTP2PingTimeout: 200, + }, + }, + err: "these confighttp client configs are currently not respected by Datadog exporter: auth, endpoint, compression, headers, http2_read_idle_timeout, http2_ping_timeout", + }, + } + for _, testInstance := range tests { + t.Run(testInstance.name, func(t *testing.T) { + err := testInstance.cfg.Validate() + if testInstance.err != "" { + assert.EqualError(t, err, testInstance.err) + } else { + assert.NoError(t, err) + } + }) + } +} + +func TestUnmarshal(t *testing.T) { + cfgWithHTTPConfigs := CreateDefaultConfig().(*Config) + idleConnTimeout := 30 * time.Second + maxIdleConn := 300 + maxIdleConnPerHost := 150 + maxConnPerHost := 250 + cfgWithHTTPConfigs.ReadBufferSize = 100 + cfgWithHTTPConfigs.WriteBufferSize = 200 + cfgWithHTTPConfigs.Timeout = 10 * time.Second + cfgWithHTTPConfigs.MaxIdleConns = &maxIdleConn + cfgWithHTTPConfigs.MaxIdleConnsPerHost = &maxIdleConnPerHost + cfgWithHTTPConfigs.MaxConnsPerHost = &maxConnPerHost + cfgWithHTTPConfigs.IdleConnTimeout = &idleConnTimeout + cfgWithHTTPConfigs.DisableKeepAlives = true + cfgWithHTTPConfigs.TLSSetting.InsecureSkipVerify = true + cfgWithHTTPConfigs.warnings = nil + + tests := []struct { + name string + configMap *confmap.Conf + cfg *Config + err string + field string + }{ + { + name: "invalid cumulative monotonic mode", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "sums": map[string]any{ + "cumulative_monotonic_mode": "invalid_mode", + }, + }, + }), + err: "invalid cumulative monotonic sum mode \"invalid_mode\"", + field: "metrics.sums.cumulative_monotonic_mode", + }, + { + name: "invalid host metadata hostname source", + configMap: confmap.NewFromStringMap(map[string]any{ + "host_metadata": map[string]any{ + "hostname_source": "invalid_source", + }, + }), + err: "invalid host metadata hostname source \"invalid_source\"", + field: "host_metadata.hostname_source", + }, + { + name: "invalid summary mode", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "summaries": map[string]any{ + "mode": "invalid_mode", + }, + }, + }), + err: "invalid summary mode \"invalid_mode\"", + field: "metrics.summaries.mode", + }, + { + name: "metrics::send_monotonic_counter custom error", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "send_monotonic_counter": true, + }, + }), + err: "\"metrics::send_monotonic_counter\" was removed in favor of \"metrics::sums::cumulative_monotonic_mode\". See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8489", + }, + { + name: "tags custom error", + configMap: confmap.NewFromStringMap(map[string]any{ + "tags": []string{}, + }), + err: "\"tags\" was removed in favor of \"host_metadata::tags\". See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/9099", + }, + { + name: "send_metadata custom error", + configMap: confmap.NewFromStringMap(map[string]any{ + "send_metadata": false, + }), + err: "\"send_metadata\" was removed in favor of \"host_metadata::enabled\". See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/9099", + }, + { + name: "use_resource_metadata custom error", + configMap: confmap.NewFromStringMap(map[string]any{ + "use_resource_metadata": false, + }), + err: "\"use_resource_metadata\" was removed in favor of \"host_metadata::hostname_source\". See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/9099", + }, + { + name: "metrics::report_quantiles custom error", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "report_quantiles": true, + }, + }), + err: "\"metrics::report_quantiles\" was removed in favor of \"metrics::summaries::mode\". See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/8845", + }, + { + name: "instrumentation_library_metadata_as_tags custom error", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "instrumentation_library_metadata_as_tags": true, + }, + }), + err: "\"metrics::instrumentation_library_metadata_as_tags\" was removed in favor of \"metrics::instrumentation_scope_as_tags\". See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/11135", + }, + { + name: "Empty metric endpoint", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "endpoint": "", + }, + }), + err: ErrEmptyEndpoint.Error(), + }, + { + name: "Empty trace endpoint", + configMap: confmap.NewFromStringMap(map[string]any{ + "traces": map[string]any{ + "endpoint": "", + }, + }), + err: ErrEmptyEndpoint.Error(), + }, + { + name: "Empty log endpoint", + configMap: confmap.NewFromStringMap(map[string]any{ + "logs": map[string]any{ + "endpoint": "", + }, + }), + err: ErrEmptyEndpoint.Error(), + }, + { + name: "invalid initial cumulative monotonic value mode", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "sums": map[string]any{ + "initial_cumulative_monotonic_value": "invalid_mode", + }, + }, + }), + err: "invalid initial value mode \"invalid_mode\"", + field: "metrics.sums.initial_cumulative_monotonic_value", + }, + { + name: "initial cumulative monotonic value mode set with raw_value", + configMap: confmap.NewFromStringMap(map[string]any{ + "metrics": map[string]any{ + "sums": map[string]any{ + "cumulative_monotonic_mode": "raw_value", + "initial_cumulative_monotonic_value": "drop", + }, + }, + }), + err: "\"metrics::sums::initial_cumulative_monotonic_value\" can only be configured when \"metrics::sums::cumulative_monotonic_mode\" is set to \"to_delta\"", + }, + { + name: "unmarshall confighttp client configs", + configMap: confmap.NewFromStringMap(map[string]any{ + "read_buffer_size": 100, + "write_buffer_size": 200, + "timeout": "10s", + "max_idle_conns": 300, + "max_idle_conns_per_host": 150, + "max_conns_per_host": 250, + "disable_keep_alives": true, + "idle_conn_timeout": "30s", + "tls": map[string]any{"insecure_skip_verify": true}, + }), + cfg: cfgWithHTTPConfigs, + }, + } + + for _, testInstance := range tests { + t.Run(testInstance.name, func(t *testing.T) { + cfg := CreateDefaultConfig().(*Config) + err := cfg.Unmarshal(testInstance.configMap) + if err != nil || testInstance.err != "" { + assert.ErrorContains(t, err, testInstance.err) + if testInstance.field != "" { + assert.ErrorContains(t, err, testInstance.field) + } + } else { + assert.Equal(t, testInstance.cfg, cfg) + } + }) + } +} + +// Test that the factory creates the default configuration +func TestCreateDefaultConfig(t *testing.T) { + cfg := CreateDefaultConfig() + + assert.Equal(t, &Config{ + ClientConfig: defaultClientConfig(), + BackOffConfig: configretry.NewDefaultBackOffConfig(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + + API: APIConfig{ + Site: "datadoghq.com", + }, + + Metrics: MetricsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://api.datadoghq.com", + }, + DeltaTTL: 3600, + HistConfig: HistogramConfig{ + Mode: "distributions", + SendAggregations: false, + }, + SumConfig: SumConfig{ + CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, + InitialCumulativeMonotonicMode: InitialValueModeAuto, + }, + SummaryConfig: SummaryConfig{ + Mode: SummaryModeGauges, + }, + }, + + Traces: TracesExporterConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://trace.agent.datadoghq.com", + }, + TracesConfig: TracesConfig{ + IgnoreResources: []string{}, + }, + }, + Logs: LogsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://http-intake.logs.datadoghq.com", + }, + UseCompression: true, + CompressionLevel: 6, + BatchWait: 5, + }, + + HostMetadata: HostMetadataConfig{ + Enabled: true, + HostnameSource: HostnameSourceConfigOrSystem, + }, + OnlyMetadata: false, + }, cfg, "failed to create default config") + + assert.NoError(t, componenttest.CheckConfigStruct(cfg)) +} + +var ddtype = component.MustNewType("datadog") + +func TestLoadConfig(t *testing.T) { + t.Parallel() + + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "config.yaml")) + require.NoError(t, err) + + tests := []struct { + id component.ID + expected component.Config + }{ + { + id: component.NewIDWithName(ddtype, "default"), + expected: &Config{ + ClientConfig: defaultClientConfig(), + BackOffConfig: configretry.NewDefaultBackOffConfig(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + API: APIConfig{ + Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + Site: "datadoghq.com", + FailOnInvalidKey: false, + }, + + Metrics: MetricsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://api.datadoghq.com", + }, + DeltaTTL: 3600, + HistConfig: HistogramConfig{ + Mode: "distributions", + SendAggregations: false, + }, + SumConfig: SumConfig{ + CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, + InitialCumulativeMonotonicMode: InitialValueModeAuto, + }, + SummaryConfig: SummaryConfig{ + Mode: SummaryModeGauges, + }, + }, + + Traces: TracesExporterConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://trace.agent.datadoghq.com", + }, + TracesConfig: TracesConfig{ + IgnoreResources: []string{}, + }, + }, + Logs: LogsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://http-intake.logs.datadoghq.com", + }, + UseCompression: true, + CompressionLevel: 6, + BatchWait: 5, + }, + HostMetadata: HostMetadataConfig{ + Enabled: true, + HostnameSource: HostnameSourceConfigOrSystem, + }, + OnlyMetadata: false, + }, + }, + { + id: component.NewIDWithName(ddtype, "api"), + expected: &Config{ + ClientConfig: defaultClientConfig(), + BackOffConfig: configretry.NewDefaultBackOffConfig(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TagsConfig: TagsConfig{ + Hostname: "customhostname", + }, + API: APIConfig{ + Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + Site: "datadoghq.eu", + FailOnInvalidKey: true, + }, + Metrics: MetricsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://api.datadoghq.eu", + }, + DeltaTTL: 3600, + HistConfig: HistogramConfig{ + Mode: "distributions", + SendAggregations: false, + }, + SumConfig: SumConfig{ + CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, + InitialCumulativeMonotonicMode: InitialValueModeAuto, + }, + SummaryConfig: SummaryConfig{ + Mode: SummaryModeGauges, + }, + }, + Traces: TracesExporterConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://trace.agent.datadoghq.eu", + }, + TracesConfig: TracesConfig{ + SpanNameRemappings: map[string]string{ + "old_name1": "new_name1", + "old_name2": "new_name2", + }, + SpanNameAsResourceName: true, + IgnoreResources: []string{}, + }, + TraceBuffer: 10, + }, + Logs: LogsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://http-intake.logs.datadoghq.eu", + }, + UseCompression: true, + CompressionLevel: 6, + BatchWait: 5, + }, + OnlyMetadata: false, + HostMetadata: HostMetadataConfig{ + Enabled: true, + HostnameSource: HostnameSourceConfigOrSystem, + }, + }, + }, + { + id: component.NewIDWithName(ddtype, "api2"), + expected: &Config{ + ClientConfig: defaultClientConfig(), + BackOffConfig: configretry.NewDefaultBackOffConfig(), + QueueSettings: exporterhelper.NewDefaultQueueConfig(), + TagsConfig: TagsConfig{ + Hostname: "customhostname", + }, + API: APIConfig{ + Key: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + Site: "datadoghq.eu", + FailOnInvalidKey: false, + }, + Metrics: MetricsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://api.datadoghq.test", + }, + DeltaTTL: 3600, + HistConfig: HistogramConfig{ + Mode: "distributions", + SendAggregations: false, + }, + SumConfig: SumConfig{ + CumulativeMonotonicMode: CumulativeMonotonicSumModeToDelta, + InitialCumulativeMonotonicMode: InitialValueModeAuto, + }, + SummaryConfig: SummaryConfig{ + Mode: SummaryModeGauges, + }, + }, + Traces: TracesExporterConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://trace.agent.datadoghq.test", + }, + TracesConfig: TracesConfig{ + SpanNameRemappings: map[string]string{ + "old_name3": "new_name3", + "old_name4": "new_name4", + }, + IgnoreResources: []string{}, + }, + }, + Logs: LogsConfig{ + TCPAddrConfig: confignet.TCPAddrConfig{ + Endpoint: "https://http-intake.logs.datadoghq.test", + }, + UseCompression: true, + CompressionLevel: 6, + BatchWait: 5, + }, + HostMetadata: HostMetadataConfig{ + Enabled: true, + HostnameSource: HostnameSourceConfigOrSystem, + Tags: []string{"example:tag"}, + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.id.String(), func(t *testing.T) { + cfg := CreateDefaultConfig() + + sub, err := cm.Sub(tt.id.String()) + require.NoError(t, err) + require.NoError(t, sub.Unmarshal(cfg)) + + assert.NoError(t, component.ValidateConfig(cfg)) + assert.Equal(t, tt.expected, cfg) + }) + } +} + +func TestOverrideEndpoints(t *testing.T) { + tests := []struct { + componentID string + expectedSite string + expectedMetricsEndpoint string + expectedTracesEndpoint string + expectedLogsEndpoint string + }{ + { + componentID: "nositeandnoendpoints", + expectedSite: "datadoghq.com", + expectedMetricsEndpoint: "https://api.datadoghq.com", + expectedTracesEndpoint: "https://trace.agent.datadoghq.com", + expectedLogsEndpoint: "https://http-intake.logs.datadoghq.com", + }, + { + componentID: "nositeandmetricsendpoint", + expectedSite: "datadoghq.com", + expectedMetricsEndpoint: "metricsendpoint:1234", + expectedTracesEndpoint: "https://trace.agent.datadoghq.com", + expectedLogsEndpoint: "https://http-intake.logs.datadoghq.com", + }, + { + componentID: "nositeandtracesendpoint", + expectedSite: "datadoghq.com", + expectedMetricsEndpoint: "https://api.datadoghq.com", + expectedTracesEndpoint: "tracesendpoint:1234", + expectedLogsEndpoint: "https://http-intake.logs.datadoghq.com", + }, + { + componentID: "nositeandlogsendpoint", + expectedSite: "datadoghq.com", + expectedMetricsEndpoint: "https://api.datadoghq.com", + expectedTracesEndpoint: "https://trace.agent.datadoghq.com", + expectedLogsEndpoint: "logsendpoint:1234", + }, + { + componentID: "nositeandallendpoints", + expectedSite: "datadoghq.com", + expectedMetricsEndpoint: "metricsendpoint:1234", + expectedTracesEndpoint: "tracesendpoint:1234", + expectedLogsEndpoint: "logsendpoint:1234", + }, + + { + componentID: "siteandnoendpoints", + expectedSite: "datadoghq.eu", + expectedMetricsEndpoint: "https://api.datadoghq.eu", + expectedTracesEndpoint: "https://trace.agent.datadoghq.eu", + expectedLogsEndpoint: "https://http-intake.logs.datadoghq.eu", + }, + { + componentID: "siteandmetricsendpoint", + expectedSite: "datadoghq.eu", + expectedMetricsEndpoint: "metricsendpoint:1234", + expectedTracesEndpoint: "https://trace.agent.datadoghq.eu", + expectedLogsEndpoint: "https://http-intake.logs.datadoghq.eu", + }, + { + componentID: "siteandtracesendpoint", + expectedSite: "datadoghq.eu", + expectedMetricsEndpoint: "https://api.datadoghq.eu", + expectedTracesEndpoint: "tracesendpoint:1234", + expectedLogsEndpoint: "https://http-intake.logs.datadoghq.eu", + }, + { + componentID: "siteandallendpoints", + expectedSite: "datadoghq.eu", + expectedMetricsEndpoint: "metricsendpoint:1234", + expectedTracesEndpoint: "tracesendpoint:1234", + expectedLogsEndpoint: "logsendpoint:1234", + }, + } + + cm, err := confmaptest.LoadConf(filepath.Join("testdata", "unmarshal.yaml")) + require.NoError(t, err) + + for _, testInstance := range tests { + t.Run(testInstance.componentID, func(t *testing.T) { + cfg := CreateDefaultConfig() + sub, err := cm.Sub(component.NewIDWithName(ddtype, testInstance.componentID).String()) + require.NoError(t, err) + require.NoError(t, sub.Unmarshal(cfg)) + + componentCfg, ok := cfg.(*Config) + require.True(t, ok, "component.Config is not a Datadog exporter config (wrong ID?)") + assert.Equal(t, testInstance.expectedSite, componentCfg.API.Site) + assert.Equal(t, testInstance.expectedMetricsEndpoint, componentCfg.Metrics.Endpoint) + assert.Equal(t, testInstance.expectedTracesEndpoint, componentCfg.Traces.Endpoint) + assert.Equal(t, testInstance.expectedLogsEndpoint, componentCfg.Logs.Endpoint) + }) + } +} diff --git a/exporter/datadogexporter/config_warnings.go b/pkg/datadog/config/config_warnings.go similarity index 95% rename from exporter/datadogexporter/config_warnings.go rename to pkg/datadog/config/config_warnings.go index 8197903d2285..0e5701c99522 100644 --- a/exporter/datadogexporter/config_warnings.go +++ b/pkg/datadog/config/config_warnings.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package datadogexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter" +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" import ( "errors" diff --git a/exporter/datadogexporter/config_warnings_test.go b/pkg/datadog/config/config_warnings_test.go similarity index 96% rename from exporter/datadogexporter/config_warnings_test.go rename to pkg/datadog/config/config_warnings_test.go index 1a92c0486b4b..976ccdd5f45d 100644 --- a/exporter/datadogexporter/config_warnings_test.go +++ b/pkg/datadog/config/config_warnings_test.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package datadogexporter +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" import ( "testing" @@ -77,8 +77,7 @@ func TestSendAggregations(t *testing.T) { for _, testInstance := range tests { t.Run(testInstance.name, func(t *testing.T) { - f := NewFactory() - cfg := f.CreateDefaultConfig().(*Config) + cfg := CreateDefaultConfig().(*Config) err := testInstance.cfgMap.Unmarshal(cfg) if err != nil || testInstance.err != "" { assert.ErrorContains(t, err, testInstance.err) @@ -92,7 +91,6 @@ func TestSendAggregations(t *testing.T) { } }) } - } func TestPeerTags(t *testing.T) { @@ -154,8 +152,7 @@ func TestPeerTags(t *testing.T) { for _, testInstance := range tests { t.Run(testInstance.name, func(t *testing.T) { - f := NewFactory() - cfg := f.CreateDefaultConfig().(*Config) + cfg := CreateDefaultConfig().(*Config) err := testInstance.cfgMap.Unmarshal(cfg) if err != nil || testInstance.err != "" { assert.ErrorContains(t, err, testInstance.err) @@ -169,5 +166,4 @@ func TestPeerTags(t *testing.T) { } }) } - } diff --git a/pkg/datadog/config/host.go b/pkg/datadog/config/host.go new file mode 100644 index 000000000000..06e3161fdcc7 --- /dev/null +++ b/pkg/datadog/config/host.go @@ -0,0 +1,87 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" + +import ( + "encoding" + "fmt" + "time" +) + +// HostnameSource is the source for the hostname of host metadata. +type HostnameSource string + +const ( + // HostnameSourceFirstResource picks the host metadata hostname from the resource + // attributes on the first OTLP payload that gets to the exporter. If it is lacking any + // hostname-like attributes, it will fallback to 'config_or_system' behavior (see below). + // + // Do not use this hostname source if receiving data from multiple hosts. + HostnameSourceFirstResource HostnameSource = "first_resource" + + // HostnameSourceConfigOrSystem picks the host metadata hostname from the 'hostname' setting, + // and if this is empty, from available system APIs and cloud provider endpoints. + HostnameSourceConfigOrSystem HostnameSource = "config_or_system" +) + +var _ encoding.TextUnmarshaler = (*HostnameSource)(nil) + +// UnmarshalText implements the encoding.TextUnmarshaler interface. +func (sm *HostnameSource) UnmarshalText(in []byte) error { + switch mode := HostnameSource(in); mode { + case HostnameSourceFirstResource, + HostnameSourceConfigOrSystem: + *sm = mode + return nil + default: + return fmt.Errorf("invalid host metadata hostname source %q", mode) + } +} + +// HostMetadataConfig defines the host metadata related configuration. +// Host metadata is the information used for populating the infrastructure list, +// the host map and providing host tags functionality. +// +// The exporter will send host metadata for a single host, whose name is chosen +// according to `host_metadata::hostname_source`. +type HostMetadataConfig struct { + // Enabled enables the host metadata functionality. + Enabled bool `mapstructure:"enabled"` + + // HostnameSource is the source for the hostname of host metadata. + // This hostname is used for identifying the infrastructure list, host map and host tag information related to the host where the Datadog exporter is running. + // Changing this setting will not change the host used to tag your metrics, traces and logs in any way. + // For remote hosts, see https://docs.datadoghq.com/opentelemetry/schema_semantics/host_metadata/. + // + // Valid values are 'first_resource' and 'config_or_system': + // - 'first_resource' picks the host metadata hostname from the resource + // attributes on the first OTLP payload that gets to the exporter. + // If the first payload lacks hostname-like attributes, it will fallback to 'config_or_system'. + // **Do not use this hostname source if receiving data from multiple hosts**. + // - 'config_or_system' picks the host metadata hostname from the 'hostname' setting, + // If this is empty it will use available system APIs and cloud provider endpoints. + // + // The default is 'config_or_system'. + HostnameSource HostnameSource `mapstructure:"hostname_source"` + + // Tags is a list of host tags. + // These tags will be attached to telemetry signals that have the host metadata hostname. + // To attach tags to telemetry signals regardless of the host, use a processor instead. + Tags []string `mapstructure:"tags"` + + // sourceTimeout is the timeout to fetch from each provider - for example AWS IMDS. + // If unset, or set to zero duration, there will be no timeout applied. + // Default is no timeout. + sourceTimeout time.Duration +} + +// SetSourceTimeout sets the timeout to fetch from each provider - for example AWS IMDS. +func (h *HostMetadataConfig) SetSourceTimeout(t time.Duration) { + h.sourceTimeout = t +} + +// GetSourceTimeout returns the timeout to fetch from each provider - for example AWS IMDS. +func (h *HostMetadataConfig) GetSourceTimeout() time.Duration { + return h.sourceTimeout +} diff --git a/pkg/datadog/config/logs.go b/pkg/datadog/config/logs.go new file mode 100644 index 000000000000..b1d4cf5a577b --- /dev/null +++ b/pkg/datadog/config/logs.go @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" + +import "go.opentelemetry.io/collector/config/confignet" + +// LogsConfig defines logs exporter specific configuration +type LogsConfig struct { + // TCPAddr.Endpoint is the host of the Datadog intake server to send logs to. + // If unset, the value is obtained from the Site. + confignet.TCPAddrConfig `mapstructure:",squash"` + + // DumpPayloads report whether payloads should be dumped when logging level is debug. + // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is enabled (now enabled by default). + // Deprecated: This config option is not supported in the Datadog Agent logs pipeline. + DumpPayloads bool `mapstructure:"dump_payloads"` + + // UseCompression enables the logs agent to compress logs before sending them. + // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is disabled. + UseCompression bool `mapstructure:"use_compression"` + + // CompressionLevel accepts values from 0 (no compression) to 9 (maximum compression but higher resource usage). + // Only takes effect if UseCompression is set to true. + // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is disabled. + CompressionLevel int `mapstructure:"compression_level"` + + // BatchWait represents the maximum time the logs agent waits to fill each batch of logs before sending. + // Note: this config option does not apply when the `exporter.datadogexporter.UseLogsAgentExporter` feature flag is disabled. + BatchWait int `mapstructure:"batch_wait"` +} diff --git a/pkg/datadog/config/metrics.go b/pkg/datadog/config/metrics.go new file mode 100644 index 000000000000..07b95beb4be6 --- /dev/null +++ b/pkg/datadog/config/metrics.go @@ -0,0 +1,208 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" + +import ( + "encoding" + "fmt" + + "go.opentelemetry.io/collector/config/confignet" +) + +// MetricsConfig defines the metrics exporter specific configuration options +type MetricsConfig struct { + // DeltaTTL defines the time that previous points of a cumulative monotonic + // metric are kept in memory to calculate deltas + DeltaTTL int64 `mapstructure:"delta_ttl"` + + // TCPAddr.Endpoint is the host of the Datadog intake server to send metrics to. + // If unset, the value is obtained from the Site. + confignet.TCPAddrConfig `mapstructure:",squash"` + + ExporterConfig MetricsExporterConfig `mapstructure:",squash"` + + // HistConfig defines the export of OTLP Histograms. + HistConfig HistogramConfig `mapstructure:"histograms"` + + // SumConfig defines the export of OTLP Sums. + SumConfig SumConfig `mapstructure:"sums"` + + // SummaryConfig defines the export for OTLP Summaries. + SummaryConfig SummaryConfig `mapstructure:"summaries"` +} + +type HistogramMode string + +const ( + // HistogramModeNoBuckets reports no bucket histogram metrics. .sum and .count metrics will still be sent + // if `send_count_sum_metrics` is enabled. + HistogramModeNoBuckets HistogramMode = "nobuckets" + // HistogramModeCounters reports histograms as Datadog counts, one metric per bucket. + HistogramModeCounters HistogramMode = "counters" + // HistogramModeDistributions reports histograms as Datadog distributions (recommended). + HistogramModeDistributions HistogramMode = "distributions" +) + +var _ encoding.TextUnmarshaler = (*HistogramMode)(nil) + +func (hm *HistogramMode) UnmarshalText(in []byte) error { + switch mode := HistogramMode(in); mode { + case HistogramModeCounters, HistogramModeDistributions, HistogramModeNoBuckets: + *hm = mode + return nil + default: + return fmt.Errorf("invalid histogram mode %q", mode) + } +} + +// HistogramConfig customizes export of OTLP Histograms. +type HistogramConfig struct { + // Mode for exporting histograms. Valid values are 'distributions', 'counters' or 'nobuckets'. + // - 'distributions' sends histograms as Datadog distributions (recommended). + // - 'counters' sends histograms as Datadog counts, one metric per bucket. + // - 'nobuckets' sends no bucket histogram metrics. Aggregation metrics will still be sent + // if `send_aggregation_metrics` is enabled. + // + // The current default is 'distributions'. + Mode HistogramMode `mapstructure:"mode"` + + // SendCountSum states if the export should send .sum and .count metrics for histograms. + // The default is false. + // Deprecated: [v0.75.0] Use `send_aggregation_metrics` (HistogramConfig.SendAggregations) instead. + SendCountSum bool `mapstructure:"send_count_sum_metrics"` + + // SendAggregations states if the exporter should send .sum, .count, .min and .max metrics for histograms. + // The default is false. + SendAggregations bool `mapstructure:"send_aggregation_metrics"` +} + +func (c *HistogramConfig) validate() error { + if c.Mode == HistogramModeNoBuckets && !c.SendAggregations { + return fmt.Errorf("'nobuckets' mode and `send_aggregation_metrics` set to false will send no histogram metrics") + } + return nil +} + +// CumulativeMonotonicSumMode is the export mode for OTLP Sum metrics. +type CumulativeMonotonicSumMode string + +const ( + // CumulativeMonotonicSumModeToDelta calculates delta for + // cumulative monotonic sum metrics in the client side and reports + // them as Datadog counts. + CumulativeMonotonicSumModeToDelta CumulativeMonotonicSumMode = "to_delta" + + // CumulativeMonotonicSumModeRawValue reports the raw value for + // cumulative monotonic sum metrics as a Datadog gauge. + CumulativeMonotonicSumModeRawValue CumulativeMonotonicSumMode = "raw_value" +) + +var _ encoding.TextUnmarshaler = (*CumulativeMonotonicSumMode)(nil) + +// UnmarshalText implements the encoding.TextUnmarshaler interface. +func (sm *CumulativeMonotonicSumMode) UnmarshalText(in []byte) error { + switch mode := CumulativeMonotonicSumMode(in); mode { + case CumulativeMonotonicSumModeToDelta, + CumulativeMonotonicSumModeRawValue: + *sm = mode + return nil + default: + return fmt.Errorf("invalid cumulative monotonic sum mode %q", mode) + } +} + +// InitialValueMode defines what the exporter should do with the initial value +// of a time series when transforming from cumulative to delta. +type InitialValueMode string + +const ( + // InitialValueModeAuto reports the initial value if its start timestamp + // is set and it happens after the process was started. + InitialValueModeAuto InitialValueMode = "auto" + + // InitialValueModeDrop always drops the initial value. + InitialValueModeDrop InitialValueMode = "drop" + + // InitialValueModeKeep always reports the initial value. + InitialValueModeKeep InitialValueMode = "keep" +) + +var _ encoding.TextUnmarshaler = (*InitialValueMode)(nil) + +// UnmarshalText implements the encoding.TextUnmarshaler interface. +func (iv *InitialValueMode) UnmarshalText(in []byte) error { + switch mode := InitialValueMode(in); mode { + case InitialValueModeAuto, + InitialValueModeDrop, + InitialValueModeKeep: + *iv = mode + return nil + default: + return fmt.Errorf("invalid initial value mode %q", mode) + } +} + +// SumConfig customizes export of OTLP Sums. +type SumConfig struct { + // CumulativeMonotonicMode is the mode for exporting OTLP Cumulative Monotonic Sums. + // Valid values are 'to_delta' or 'raw_value'. + // - 'to_delta' calculates delta for cumulative monotonic sums and sends it as a Datadog count. + // - 'raw_value' sends the raw value of cumulative monotonic sums as Datadog gauges. + // + // The default is 'to_delta'. + // See https://docs.datadoghq.com/metrics/otlp/?tab=sum#mapping for details and examples. + CumulativeMonotonicMode CumulativeMonotonicSumMode `mapstructure:"cumulative_monotonic_mode"` + + // InitialCumulativeMonotonicMode defines the behavior of the exporter when receiving the first value + // of a cumulative monotonic sum. + InitialCumulativeMonotonicMode InitialValueMode `mapstructure:"initial_cumulative_monotonic_value"` +} + +// SummaryMode is the export mode for OTLP Summary metrics. +type SummaryMode string + +const ( + // SummaryModeNoQuantiles sends no `.quantile` metrics. `.sum` and `.count` metrics will still be sent. + SummaryModeNoQuantiles SummaryMode = "noquantiles" + // SummaryModeGauges sends `.quantile` metrics as gauges tagged by the quantile. + SummaryModeGauges SummaryMode = "gauges" +) + +var _ encoding.TextUnmarshaler = (*SummaryMode)(nil) + +// UnmarshalText implements the encoding.TextUnmarshaler interface. +func (sm *SummaryMode) UnmarshalText(in []byte) error { + switch mode := SummaryMode(in); mode { + case SummaryModeNoQuantiles, + SummaryModeGauges: + *sm = mode + return nil + default: + return fmt.Errorf("invalid summary mode %q", mode) + } +} + +// SummaryConfig customizes export of OTLP Summaries. +type SummaryConfig struct { + // Mode is the the mode for exporting OTLP Summaries. + // Valid values are 'noquantiles' or 'gauges'. + // - 'noquantiles' sends no `.quantile` metrics. `.sum` and `.count` metrics will still be sent. + // - 'gauges' sends `.quantile` metrics as gauges tagged by the quantile. + // + // The default is 'gauges'. + // See https://docs.datadoghq.com/metrics/otlp/?tab=summary#mapping for details and examples. + Mode SummaryMode `mapstructure:"mode"` +} + +// MetricsExporterConfig provides options for a user to customize the behavior of the +// metrics exporter +type MetricsExporterConfig struct { + // ResourceAttributesAsTags, if set to true, will use the exporterhelper feature to transform all + // resource attributes into metric labels, which are then converted into tags + ResourceAttributesAsTags bool `mapstructure:"resource_attributes_as_tags"` + + // InstrumentationScopeMetadataAsTags, if set to true, adds the name and version of the + // instrumentation scope that created a metric to the metric tags + InstrumentationScopeMetadataAsTags bool `mapstructure:"instrumentation_scope_metadata_as_tags"` +} diff --git a/pkg/datadog/config/testdata/config.yaml b/pkg/datadog/config/testdata/config.yaml new file mode 100644 index 000000000000..10fea4ec91c0 --- /dev/null +++ b/pkg/datadog/config/testdata/config.yaml @@ -0,0 +1,40 @@ +datadog/api: + hostname: customhostname + api: + key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + site: datadoghq.eu + fail_on_invalid_key: true + + traces: + span_name_remappings: + "old_name1": "new_name1" + "old_name2": "new_name2" + span_name_as_resource_name: true + trace_buffer: 10 + +datadog/api2: + hostname: customhostname + + host_metadata: + tags: [example:tag] + + api: + key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + site: datadoghq.eu + + metrics: + endpoint: https://api.datadoghq.test + + traces: + span_name_remappings: + "old_name3": "new_name3" + "old_name4": "new_name4" + endpoint: https://trace.agent.datadoghq.test + + logs: + endpoint: https://http-intake.logs.datadoghq.test + +datadog/default: + api: + key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + diff --git a/pkg/datadog/config/testdata/unmarshal.yaml b/pkg/datadog/config/testdata/unmarshal.yaml new file mode 100644 index 000000000000..b3c5b76036d4 --- /dev/null +++ b/pkg/datadog/config/testdata/unmarshal.yaml @@ -0,0 +1,53 @@ +datadog/nositeandnoendpoints: + +datadog/nositeandmetricsendpoint: + metrics: + endpoint: "metricsendpoint:1234" + +datadog/nositeandtracesendpoint: + traces: + endpoint: "tracesendpoint:1234" + +datadog/nositeandlogsendpoint: + logs: + endpoint: "logsendpoint:1234" + +datadog/nositeandallendpoints: + metrics: + endpoint: "metricsendpoint:1234" + traces: + endpoint: "tracesendpoint:1234" + logs: + endpoint: "logsendpoint:1234" + +datadog/siteandnoendpoints: + api: + site: datadoghq.eu + +datadog/siteandmetricsendpoint: + api: + site: datadoghq.eu + metrics: + endpoint: "metricsendpoint:1234" + +datadog/siteandtracesendpoint: + api: + site: datadoghq.eu + traces: + endpoint: "tracesendpoint:1234" + +datadog/siteandlogsendpoint: + api: + site: datadoghq.eu + logs: + endpoint: "logsendpoint:1234" + +datadog/siteandallendpoints: + api: + site: datadoghq.eu + metrics: + endpoint: "metricsendpoint:1234" + traces: + endpoint: "tracesendpoint:1234" + logs: + endpoint: "logsendpoint:1234" diff --git a/pkg/datadog/config/traces.go b/pkg/datadog/config/traces.go new file mode 100644 index 000000000000..1e338fa58a0f --- /dev/null +++ b/pkg/datadog/config/traces.go @@ -0,0 +1,167 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package config // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" + +import ( + "fmt" + "regexp" + "time" + + "go.opentelemetry.io/collector/config/confignet" +) + +// TracesConfig defines the traces exporter specific configuration options +type TracesConfig struct { + // ignored resources + // A blacklist of regular expressions can be provided to disable certain traces based on their resource name + // all entries must be surrounded by double quotes and separated by commas. + // ignore_resources: ["(GET|POST) /healthcheck"] + IgnoreResources []string `mapstructure:"ignore_resources"` + + // SpanNameRemappings is the map of datadog span names and preferred name to map to. This can be used to + // automatically map Datadog Span Operation Names to an updated value. All entries should be key/value pairs. + // span_name_remappings: + // io.opentelemetry.javaagent.spring.client: spring.client + // instrumentation:express.server: express + // go.opentelemetry.io_contrib_instrumentation_net_http_otelhttp.client: http.client + SpanNameRemappings map[string]string `mapstructure:"span_name_remappings"` + + // If set to true the OpenTelemetry span name will used in the Datadog resource name. + // If set to false the resource name will be filled with the instrumentation library name + span kind. + // The default value is `false`. + SpanNameAsResourceName bool `mapstructure:"span_name_as_resource_name"` + + // If set to true, enables an additional stats computation check on spans to see they have an eligible `span.kind` (server, consumer, client, producer). + // If enabled, a span with an eligible `span.kind` will have stats computed. If disabled, only top-level and measured spans will have stats computed. + // NOTE: For stats computed from OTel traces, only top-level spans are considered when this option is off. + // If you are sending OTel traces and want stats on non-top-level spans, this flag will need to be enabled. + // If you are sending OTel traces and do not want stats computed by span kind, you need to disable this flag and disable `compute_top_level_by_span_kind`. + ComputeStatsBySpanKind bool `mapstructure:"compute_stats_by_span_kind"` + + // If set to true, root spans and spans with a server or consumer `span.kind` will be marked as top-level. + // Additionally, spans with a client or producer `span.kind` will have stats computed. + // Enabling this config option may increase the number of spans that generate trace metrics, and may change which spans appear as top-level in Datadog. + // ComputeTopLevelBySpanKind needs to be enabled in both the Datadog connector and Datadog exporter configs if both components are being used. + // The default value is `false`. + ComputeTopLevelBySpanKind bool `mapstructure:"compute_top_level_by_span_kind"` + + // If set to true, enables `peer.service` aggregation in the exporter. If disabled, aggregated trace stats will not include `peer.service` as a dimension. + // For the best experience with `peer.service`, it is recommended to also enable `compute_stats_by_span_kind`. + // If enabling both causes the datadog exporter to consume too many resources, try disabling `compute_stats_by_span_kind` first. + // If the overhead remains high, it will be due to a high cardinality of `peer.service` values from the traces. You may need to check your instrumentation. + // Deprecated: Please use PeerTagsAggregation instead + PeerServiceAggregation bool `mapstructure:"peer_service_aggregation"` + + // If set to true, enables aggregation of peer related tags (e.g., `peer.service`, `db.instance`, etc.) in the datadog exporter. + // If disabled, aggregated trace stats will not include these tags as dimensions on trace metrics. + // For the best experience with peer tags, Datadog also recommends enabling `compute_stats_by_span_kind`. + // If you are using an OTel tracer, it's best to have both enabled because client/producer spans with relevant peer tags + // may not be marked by the datadog exporter as top-level spans. + // If enabling both causes the datadog exporter to consume too many resources, try disabling `compute_stats_by_span_kind` first. + // A high cardinality of peer tags or APM resources can also contribute to higher CPU and memory consumption. + // You can check for the cardinality of these fields by making trace search queries in the Datadog UI. + // The default list of peer tags can be found in https://github.com/DataDog/datadog-agent/blob/main/pkg/trace/stats/concentrator.go. + PeerTagsAggregation bool `mapstructure:"peer_tags_aggregation"` + + // [BETA] Optional list of supplementary peer tags that go beyond the defaults. The Datadog backend validates all tags + // and will drop ones that are unapproved. The default set of peer tags can be found at + // https://github.com/DataDog/datadog-agent/blob/505170c4ac8c3cbff1a61cf5f84b28d835c91058/pkg/trace/stats/concentrator.go#L55. + PeerTags []string `mapstructure:"peer_tags"` +} + +func (c *TracesConfig) Validate() error { + if c.IgnoreResources != nil { + for _, entry := range c.IgnoreResources { + _, err := regexp.Compile(entry) + if err != nil { + return fmt.Errorf("'%s' is not valid resource filter regular expression", entry) + } + } + } + + if c.SpanNameRemappings != nil { + for key, value := range c.SpanNameRemappings { + if value == "" { + return fmt.Errorf("'%s' is not valid value for span name remapping", value) + } + if key == "" { + return fmt.Errorf("'%s' is not valid key for span name remapping", key) + } + } + } + return nil +} + +// TracesExporterConfig Traces configuration in DD exporter +type TracesExporterConfig struct { + // TCPAddr.Endpoint is the host of the Datadog intake server to send traces to. + // If unset, the value is obtained from the Site. + confignet.TCPAddrConfig `mapstructure:",squash"` + + // TracesConfig contains the common configuration for all traces. + TracesConfig `mapstructure:",squash"` + + // TraceBuffer specifies the number of Datadog Agent TracerPayloads to buffer before dropping. + // The default value is 0, meaning the Datadog Agent TracerPayloads are unbuffered. + TraceBuffer int `mapstructure:"trace_buffer"` + + // flushInterval defines the interval in seconds at which the writer flushes traces + // to the intake; used in tests. + flushInterval float64 +} + +// SetFlushInterval sets the interval in seconds at which the writer flushes traces +func (c *TracesExporterConfig) SetFlushInterval(interval float64) { + c.flushInterval = interval +} + +// GetFlushInterval returns the interval in seconds at which the writer flushes traces +func (c *TracesExporterConfig) GetFlushInterval() float64 { + return c.flushInterval +} + +func (c *TracesExporterConfig) Validate() error { + if err := c.TracesConfig.Validate(); err != nil { + return err + } + if c.TraceBuffer < 0 { + return fmt.Errorf("trace buffer must be non-negative") + } + + return nil +} + +// TracesConnectorConfig Traces configuration in DD connector +type TracesConnectorConfig struct { + // TracesConfig contains the common configuration for all traces. + TracesConfig `mapstructure:",squash"` + + // TraceBuffer specifies the number of Datadog Agent TracerPayloads to buffer before dropping. + // The default value is 1000. + TraceBuffer int `mapstructure:"trace_buffer"` + + // ResourceAttributesAsContainerTags specifies the list of resource attributes to be used as container tags. + ResourceAttributesAsContainerTags []string `mapstructure:"resource_attributes_as_container_tags"` + + // BucketInterval specifies the time interval size of aggregation buckets that aggregate the Datadog trace metrics. + // It is also the time interval that Datadog trace metrics payloads are flushed to the pipeline. + // If you are concerned about the metric volume generated by the Datadog connector and the resulting networking egress, try increasing bucket_interval. + // Default is 10s if unset. + BucketInterval time.Duration `mapstructure:"bucket_interval"` +} + +func (c *TracesConnectorConfig) Validate() error { + if err := c.TracesConfig.Validate(); err != nil { + return err + } + + if c.TraceBuffer < 0 { + return fmt.Errorf("trace buffer must be non-negative") + } + + if c.BucketInterval < 0 { + return fmt.Errorf("bucket interval must be non-negative") + } + return nil +} diff --git a/pkg/datadog/doc.go b/pkg/datadog/doc.go new file mode 100644 index 000000000000..0a7468491e3a --- /dev/null +++ b/pkg/datadog/doc.go @@ -0,0 +1,5 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package datadog contains the shared Datadog exporter and Datadog connector configuration. +package datadog // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog" diff --git a/pkg/datadog/go.mod b/pkg/datadog/go.mod new file mode 100644 index 000000000000..a79f1519bf0e --- /dev/null +++ b/pkg/datadog/go.mod @@ -0,0 +1,74 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog + +go 1.22.0 + +require ( + github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 + github.com/stretchr/testify v1.9.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configauth v0.112.0 + go.opentelemetry.io/collector/config/confighttp v0.112.0 + go.opentelemetry.io/collector/config/confignet v1.18.0 + go.opentelemetry.io/collector/config/configopaque v1.18.0 + go.opentelemetry.io/collector/config/configretry v1.18.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.uber.org/zap v1.27.0 +) + +require ( + github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 // indirect + github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect + github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/compress v1.17.11 // indirect + github.com/knadh/koanf/maps v0.1.1 // indirect + github.com/knadh/koanf/providers/confmap v0.1.0 // indirect + github.com/knadh/koanf/v2 v2.1.1 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pierrec/lz4/v4 v4.1.21 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/rs/cors v1.11.1 // indirect + go.opentelemetry.io/collector/client v1.18.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.18.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/config/internal v0.112.0 // indirect + go.opentelemetry.io/collector/consumer v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.112.0 // indirect + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 // indirect + go.opentelemetry.io/collector/pdata v1.18.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect + go.uber.org/atomic v1.11.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/net v0.30.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/pkg/datadog/go.sum b/pkg/datadog/go.sum new file mode 100644 index 000000000000..37cd4640aa10 --- /dev/null +++ b/pkg/datadog/go.sum @@ -0,0 +1,192 @@ +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1 h1:lzV6MTx2an9dvS1ZiA3HjHdXFMBEPyR94G0ka+bV4hk= +github.com/DataDog/datadog-agent/pkg/util/hostname/validate v0.58.1/go.mod h1:w1E+8Vlj5hmfedxSezwJyY29X2uecrBlC+CHCVgi0wI= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1 h1:J5ce1aQqwyorBqUzGuQVnDvTB0aiUOS94N0l6VV40E4= +github.com/DataDog/datadog-agent/pkg/util/log v0.58.1/go.mod h1:bDZiE0NzmmlgdXrwdFtJzmCuZNJ0f0/JXbOJ7WOJ2eY= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1 h1:fFQnuwiCxku+6PNaa2N5CCgyth87E4EM4emoo72pYao= +github.com/DataDog/datadog-agent/pkg/util/scrubber v0.58.1/go.mod h1:krOxbYZc4KKE7bdEDu10lLSQBjdeSFS/XDSclsaSf1Y= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 h1:kHaBemcxl8o/pQ5VM1c8PVE1PubbNx3mjUr09OqWGCs= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= +github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= +github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= +github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM= +github.com/knadh/koanf/v2 v2.1.1/go.mod h1:4mnTRbZCK+ALuBXHZMjDfG9y714L7TykVnZkXbMU3Es= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.opentelemetry.io/collector/client v1.18.0 h1:wk+R3wpeleTIrk+xX85ICKBJ6GeZQ50Hk5DthRpOpUQ= +go.opentelemetry.io/collector/client v1.18.0/go.mod h1:33ntN6gwIfa1JCnQfQDSImIBY8Gfe66kv+MjQ/C37Fk= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configauth v0.112.0 h1:c8TBb4nWvGfNbL56OdfSPhejT9Ki9Xn/mLeGekZ0u9c= +go.opentelemetry.io/collector/config/configauth v0.112.0/go.mod h1:wp+nv6Y39IrOK/TVbLRpZ8yq7hf+MxOJh+/PtqZNFic= +go.opentelemetry.io/collector/config/configcompression v1.18.0 h1:4fyjChZJFC4UPk55D885wFX+xkBZGHkx11DoTRWgoJg= +go.opentelemetry.io/collector/config/configcompression v1.18.0/go.mod h1:pnxkFCLUZLKWzYJvfSwZnPrnm0twX14CYj2ADth5xiU= +go.opentelemetry.io/collector/config/confighttp v0.112.0 h1:f87ExBYu4f+IQjlUVrm3dc42q+wbJhBqfTP2hay0iZw= +go.opentelemetry.io/collector/config/confighttp v0.112.0/go.mod h1:sim7kYS3IRvqr+RbGHCo9+YoBZaE4/u6OlyYXDuiX1s= +go.opentelemetry.io/collector/config/confignet v1.18.0 h1:ncaBuvH/AxwXk1JgGVpKObGtR105qxgGWqsA6aqsYXc= +go.opentelemetry.io/collector/config/confignet v1.18.0/go.mod h1:o3v4joAEjvLwntqexg5ixMqRrU1+Vst+jWuCUaBNgOg= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configretry v1.18.0 h1:2Dq9kqppBaWyV9Q29WpSaA7dxdozpsQoao1Jcu6uvI4= +go.opentelemetry.io/collector/config/configretry v1.18.0/go.mod h1:KvQF5cfphq1rQm1dKR4eLDNQYw6iI2fY72NMZVa+0N0= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/config/internal v0.112.0 h1:kB28u5IrrJIsKKHFltBSArp8NimVk/+m0BXP/JJM+L4= +go.opentelemetry.io/collector/config/internal v0.112.0/go.mod h1:yC7E4h1Uj0SubxcFImh6OvBHFTjMh99+A5PuyIgDWqc= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0 h1:u6PbgR4BopBA7HIm7giJb+zGCmAotInD6Jdcg9azX+M= +go.opentelemetry.io/collector/exporter/exporterprofiles v0.112.0/go.mod h1:qf784JQC/2XJpt+1PesdJGwg+28XjAmn6H7mcuF/SXs= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0 h1:4e1UlOBTFZWkZePpG4YPE5/EMmhT/+6yYcNOJto0fiM= +go.opentelemetry.io/collector/exporter/exportertest v0.112.0/go.mod h1:mHt5evYj4gy9LfbMGzaq2VtU5NN4vbWxKUulo4ZJKjk= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/auth v0.112.0 h1:GmcmreIkhUUFSNNvgekK12Rs4MjEnnmE24yS2gPm2IA= +go.opentelemetry.io/collector/extension/auth v0.112.0/go.mod h1:3xShgnNn/iQ5vHf3MVExvqpEIUNEl6osYRlq1Comat4= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/pkg/datadog/metadata.yaml b/pkg/datadog/metadata.yaml new file mode 100644 index 000000000000..dae3d0ab2af6 --- /dev/null +++ b/pkg/datadog/metadata.yaml @@ -0,0 +1,3 @@ +status: + codeowners: + active: [mx-psi,dineshg13, liustanley, songy23, mackjmr, ankitpatel96] \ No newline at end of file diff --git a/pkg/experimentalmetricmetadata/go.mod b/pkg/experimentalmetricmetadata/go.mod index e1872bb9955a..537cee79aa44 100644 --- a/pkg/experimentalmetricmetadata/go.mod +++ b/pkg/experimentalmetricmetadata/go.mod @@ -4,7 +4,7 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) @@ -17,12 +17,12 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/experimentalmetricmetadata/go.sum b/pkg/experimentalmetricmetadata/go.sum index 6959c9bfa558..9c58a0c3e177 100644 --- a/pkg/experimentalmetricmetadata/go.sum +++ b/pkg/experimentalmetricmetadata/go.sum @@ -30,8 +30,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -45,20 +45,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -67,12 +67,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/experimentalmetricmetadata/metadata.yaml b/pkg/experimentalmetricmetadata/metadata.yaml index e2972c99bb93..7509bde48a39 100644 --- a/pkg/experimentalmetricmetadata/metadata.yaml +++ b/pkg/experimentalmetricmetadata/metadata.yaml @@ -1,3 +1,4 @@ status: codeowners: - active: [rmfitzpatrick] \ No newline at end of file + active: [dmitryax] + emeritus: [rmfitzpatrick] \ No newline at end of file diff --git a/pkg/golden/go.mod b/pkg/golden/go.mod index 3ee0e95fff6b..d45956a1caa9 100644 --- a/pkg/golden/go.mod +++ b/pkg/golden/go.mod @@ -3,9 +3,9 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 gopkg.in/yaml.v3 v3.0.1 ) @@ -19,12 +19,12 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect ) replace github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil => ../pdatautil diff --git a/pkg/golden/go.sum b/pkg/golden/go.sum index b356b2622b44..68fb1c4236d7 100644 --- a/pkg/golden/go.sum +++ b/pkg/golden/go.sum @@ -31,8 +31,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -46,20 +46,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -68,12 +68,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/kafka/topic/Makefile b/pkg/kafka/topic/Makefile new file mode 100644 index 000000000000..bdd863a203be --- /dev/null +++ b/pkg/kafka/topic/Makefile @@ -0,0 +1 @@ +include ../../../Makefile.Common diff --git a/pkg/kafka/topic/README.md b/pkg/kafka/topic/README.md new file mode 100644 index 000000000000..663d969e5d61 --- /dev/null +++ b/pkg/kafka/topic/README.md @@ -0,0 +1,4 @@ +# Kafka Topic Context Accessor + +This module is used for accessing the topic within a context. +See the [kafka exporter readme](../../../exporter/kafkaexporter/README.md#destination-topic) for more details. diff --git a/pkg/kafka/topic/go.mod b/pkg/kafka/topic/go.mod new file mode 100644 index 000000000000..7ef117787414 --- /dev/null +++ b/pkg/kafka/topic/go.mod @@ -0,0 +1,3 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic + +go 1.22.0 diff --git a/pkg/kafka/topic/kafka_ctx.go b/pkg/kafka/topic/kafka_ctx.go new file mode 100644 index 000000000000..603863615fb4 --- /dev/null +++ b/pkg/kafka/topic/kafka_ctx.go @@ -0,0 +1,19 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package topic // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic" + +import ( + "context" +) + +func WithTopic(ctx context.Context, topic string) context.Context { + return context.WithValue(ctx, topicContextKey{}, topic) +} + +func FromContext(ctx context.Context) (string, bool) { + contextTopic, ok := ctx.Value(topicContextKey{}).(string) + return contextTopic, ok +} + +type topicContextKey struct{} diff --git a/pkg/kafka/topic/metadata.yaml b/pkg/kafka/topic/metadata.yaml new file mode 100644 index 000000000000..708ccce63f83 --- /dev/null +++ b/pkg/kafka/topic/metadata.yaml @@ -0,0 +1,6 @@ +type: topic + +status: + class: pkg + codeowners: + active: [pavolloffay, MovieStoreGuy] diff --git a/pkg/ottl/context_inferrer.go b/pkg/ottl/context_inferrer.go new file mode 100644 index 000000000000..562e8387f550 --- /dev/null +++ b/pkg/ottl/context_inferrer.go @@ -0,0 +1,79 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottl // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" + +import "math" + +var ( + defaultContextInferPriority = []string{ + "log", + "metric", + "datapoint", + "spanevent", + "span", + "resource", + "scope", + "instrumentation_scope", + } +) + +// contextInferrer is an interface used to infer the OTTL context from statements paths. +type contextInferrer interface { + // infer returns the OTTL context inferred from the given statements paths. + infer(statements []string) (string, error) +} + +type priorityContextInferrer struct { + contextPriority map[string]int +} + +func (s *priorityContextInferrer) infer(statements []string) (string, error) { + var inferredContext string + var inferredContextPriority int + + for _, statement := range statements { + parsed, err := parseStatement(statement) + if err != nil { + return inferredContext, err + } + + for _, p := range getParsedStatementPaths(parsed) { + pathContextPriority, ok := s.contextPriority[p.Context] + if !ok { + // Lowest priority + pathContextPriority = math.MaxInt + } + + if inferredContext == "" || pathContextPriority < inferredContextPriority { + inferredContext = p.Context + inferredContextPriority = pathContextPriority + } + } + } + + return inferredContext, nil +} + +// defaultPriorityContextInferrer is like newPriorityContextInferrer, but using the default +// context priorities and ignoring unknown/non-prioritized contexts. +func defaultPriorityContextInferrer() contextInferrer { + return newPriorityContextInferrer(defaultContextInferPriority) +} + +// newPriorityContextInferrer creates a new priority-based context inferrer. +// To infer the context, it compares all [ottl.Path.Context] values, prioritizing them based +// on the provide contextsPriority argument, the lower the context position is in the array, +// the more priority it will have over other items. +// If unknown/non-prioritized contexts are found on the statements, they can be either ignored +// or considered when no other prioritized context is found. To skip unknown contexts, the +// ignoreUnknownContext argument must be set to false. +func newPriorityContextInferrer(contextsPriority []string) contextInferrer { + contextPriority := make(map[string]int, len(contextsPriority)) + for i, ctx := range contextsPriority { + contextPriority[ctx] = i + } + return &priorityContextInferrer{ + contextPriority: contextPriority, + } +} diff --git a/pkg/ottl/context_inferrer_test.go b/pkg/ottl/context_inferrer_test.go new file mode 100644 index 000000000000..4d4455dd0dcf --- /dev/null +++ b/pkg/ottl/context_inferrer_test.go @@ -0,0 +1,89 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottl + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_NewPriorityContextInferrer_Infer(t *testing.T) { + tests := []struct { + name string + priority []string + statements []string + expected string + }{ + { + name: "with priority and contexts", + priority: []string{"spanevent", "span", "resource"}, + statements: []string{"set(span.foo, resource.value) where spanevent.bar == true"}, + expected: "spanevent", + }, + { + name: "with multiple statements", + priority: []string{"spanevent", "span", "resource"}, + statements: []string{ + "set(resource.foo, resource.value) where span.bar == true", + "set(resource.foo, resource.value) where spanevent.bar == true", + }, + expected: "spanevent", + }, + { + name: "with no context", + priority: []string{"log", "resource"}, + statements: []string{"set(foo, true) where bar == true"}, + expected: "", + }, + { + name: "with empty priority", + statements: []string{"set(foo.name, true) where bar.name == true"}, + expected: "foo", + }, + { + name: "with unknown context", + priority: []string{"foo", "bar"}, + statements: []string{"set(span.foo, true) where span.bar == true"}, + expected: "span", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + inferrer := newPriorityContextInferrer(tt.priority) + inferredContext, err := inferrer.infer(tt.statements) + require.NoError(t, err) + assert.Equal(t, tt.expected, inferredContext) + }) + } +} + +func Test_NewPriorityContextInferrer_InvalidStatement(t *testing.T) { + inferrer := newPriorityContextInferrer([]string{"foo"}) + statements := []string{"set(foo.field,"} + _, err := inferrer.infer(statements) + require.ErrorContains(t, err, "unexpected token") +} + +func Test_DefaultPriorityContextInferrer(t *testing.T) { + expectedPriority := []string{ + "log", + "metric", + "datapoint", + "spanevent", + "span", + "resource", + "scope", + "instrumentation_scope", + } + + inferrer := defaultPriorityContextInferrer().(*priorityContextInferrer) + require.NotNil(t, inferrer) + + for pri, ctx := range expectedPriority { + require.Equal(t, pri, inferrer.contextPriority[ctx]) + } +} diff --git a/pkg/ottl/e2e/e2e_test.go b/pkg/ottl/e2e/e2e_test.go index 878ed6384507..451e577c8c4e 100644 --- a/pkg/ottl/e2e/e2e_test.go +++ b/pkg/ottl/e2e/e2e_test.go @@ -347,6 +347,24 @@ func Test_e2e_converters(t *testing.T) { tCtx.GetLogRecord().Attributes().PutStr("test", "FooBar") }, }, + { + statement: `set(attributes["test"], ConvertAttributesToElementsXML("This is a log message!"))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", `This is a log message!1`) + }, + }, + { + statement: `set(body, ConvertTextToElementsXML("foo"))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Body().SetStr("foo") + }, + }, + { + statement: `set(body, ConvertTextToElementsXML("foobar", "/a", "custom"))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Body().SetStr("foobar") + }, + }, { statement: `set(attributes["test"], Double(1.0))`, want: func(tCtx ottllog.TransformContext) { @@ -420,6 +438,12 @@ func Test_e2e_converters(t *testing.T) { tCtx.GetLogRecord().Attributes().PutDouble("test", 1.5) }, }, + { + statement: `set(attributes["test"], InsertXML("", "/a", ""))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", "") + }, + }, { statement: `set(attributes["test"], Int(1.0))`, want: func(tCtx ottllog.TransformContext) { @@ -444,6 +468,12 @@ func Test_e2e_converters(t *testing.T) { tCtx.GetLogRecord().Attributes().PutInt("test", 1) }, }, + { + statement: `set(attributes["test"], GetXML("12", "/a//b"))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", "12") + }, + }, { statement: `set(attributes["test"], Hex(1.0))`, want: func(tCtx ottllog.TransformContext) { @@ -609,6 +639,39 @@ func Test_e2e_converters(t *testing.T) { m.PutStr("k2", "v2__!__v2") }, }, + { + statement: `set(attributes["test"], ToKeyValueString(ParseKeyValue("k1=v1 k2=v2"), "=", " ", true))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", "k1=v1 k2=v2") + }, + }, + { + statement: `set(attributes["test"], ToKeyValueString(ParseKeyValue("k1:v1,k2:v2", ":" , ","), ":", ",", true))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", "k1:v1,k2:v2") + }, + }, + { + statement: `set(attributes["test"], ToKeyValueString(ParseKeyValue("k1=v1 k2=v2"), "!", "+", true))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", "k1!v1+k2!v2") + }, + }, + { + statement: `set(attributes["test"], ToKeyValueString(ParseKeyValue("k1=v1 k2=v2=v3"), "=", " ", true))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", "k1=v1 k2=\"v2=v3\"") + }, + }, + { + statement: `set(attributes["test"], ParseSimplifiedXML("1This is a log message!"))`, + want: func(tCtx ottllog.TransformContext) { + attr := tCtx.GetLogRecord().Attributes().PutEmptyMap("test") + log := attr.PutEmptyMap("Log") + log.PutStr("id", "1") + log.PutStr("Message", "This is a log message!") + }, + }, { statement: `set(attributes["test"], ParseXML("This is a log message!"))`, want: func(tCtx ottllog.TransformContext) { @@ -625,6 +688,12 @@ func Test_e2e_converters(t *testing.T) { message.PutStr("content", "This is a log message!") }, }, + { + statement: `set(attributes["test"], RemoveXML("This is a log message!", "/Log/Message"))`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("test", ``) + }, + }, { statement: `set(attributes["test"], Seconds(Duration("1m")))`, want: func(tCtx ottllog.TransformContext) { @@ -950,6 +1019,13 @@ func Test_e2e_ottl_features(t *testing.T) { tCtx.GetLogRecord().Attributes().PutBool("isMap", true) }, }, + { + name: "extract value from Split function result slice of type []string", + statement: `set(attributes["my.environment.2"], Split(resource.attributes["host.name"],"h")[1])`, + want: func(tCtx ottllog.TransformContext) { + tCtx.GetLogRecord().Attributes().PutStr("my.environment.2", "ost") + }, + }, } for _, tt := range tests { @@ -1076,3 +1152,37 @@ func fillSpanOne(span ptrace.Span) { span.SetSpanID(spanID) span.SetTraceID(traceID) } + +func Benchmark_XML_Functions(b *testing.B) { + testXML := `12` + tCtxWithTestBody := func() ottllog.TransformContext { + resource := pcommon.NewResource() + scope := pcommon.NewInstrumentationScope() + logRecord := plog.NewLogRecord() + logRecord.Body().SetStr(testXML) + return ottllog.NewTransformContext(logRecord, scope, resource, plog.NewScopeLogs(), plog.NewResourceLogs()) + } + + settings := componenttest.NewNopTelemetrySettings() + logParser, err := ottllog.NewParser(ottlfuncs.StandardFuncs[ottllog.TransformContext](), settings) + assert.NoError(b, err) + + // Use a round trip composition to ensure each iteration of the benchmark is the same. + // GetXML(body, "/Data/From/Test") returns "12" + // InsertXML(body, "/Data/To", GetXML(...)) adds the two Test elements to the To element + // RemoveXML(InsertXML(...) "/Data/To/Test") removes the Test elements which were just added + // set overwrites the body, but the result should be the same as the original body + roundTrip := `set(body, RemoveXML(InsertXML(body, "/Data/To", GetXML(body, "/Data/From/Test")), "/Data/To/Test"))` + logStatements, err := logParser.ParseStatement(roundTrip) + assert.NoError(b, err) + + actualCtx := tCtxWithTestBody() + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + _, _, _ = logStatements.Execute(context.Background(), actualCtx) + } + + // Ensure correctness + assert.NoError(b, plogtest.CompareResourceLogs(newResourceLogs(tCtxWithTestBody()), newResourceLogs(actualCtx))) +} diff --git a/pkg/ottl/expression.go b/pkg/ottl/expression.go index c69c9f0e319a..ea26f0b456ca 100644 --- a/pkg/ottl/expression.go +++ b/pkg/ottl/expression.go @@ -13,7 +13,7 @@ import ( "strconv" "time" - jsoniter "github.com/json-iterator/go" + "github.com/goccy/go-json" "go.opentelemetry.io/collector/pdata/pcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/internal/ottlcommon" @@ -111,10 +111,15 @@ func (g exprGetter[K]) Get(ctx context.Context, tCtx K) (any, error) { } result = ottlcommon.GetValue(r.At(int(*k.Int))) case []any: - if int(*k.Int) >= len(r) || int(*k.Int) < 0 { - return nil, fmt.Errorf("index %v out of bounds", *k.Int) + result, err = getElementByIndex(r, k.Int) + if err != nil { + return nil, err + } + case []string: + result, err = getElementByIndex(r, k.Int) + if err != nil { + return nil, err } - result = r[*k.Int] default: return nil, fmt.Errorf("type, %T, does not support int indexing", result) } @@ -125,6 +130,13 @@ func (g exprGetter[K]) Get(ctx context.Context, tCtx K) (any, error) { return result, nil } +func getElementByIndex[T any](r []T, idx *int64) (any, error) { + if int(*idx) >= len(r) || int(*idx) < 0 { + return nil, fmt.Errorf("index %v out of bounds", *idx) + } + return r[*idx], nil +} + type listGetter[K any] struct { slice []Getter[K] } @@ -429,22 +441,25 @@ func (g StandardStringLikeGetter[K]) Get(ctx context.Context, tCtx K) (*string, case []byte: result = hex.EncodeToString(v) case pcommon.Map: - result, err = jsoniter.MarshalToString(v.AsRaw()) + resultBytes, err := json.Marshal(v.AsRaw()) if err != nil { return nil, err } + result = string(resultBytes) case pcommon.Slice: - result, err = jsoniter.MarshalToString(v.AsRaw()) + resultBytes, err := json.Marshal(v.AsRaw()) if err != nil { return nil, err } + result = string(resultBytes) case pcommon.Value: result = v.AsString() default: - result, err = jsoniter.MarshalToString(v) + resultBytes, err := json.Marshal(v) if err != nil { return nil, TypeError(fmt.Sprintf("unsupported type: %T", v)) } + result = string(resultBytes) } return &result, nil } diff --git a/pkg/ottl/expression_test.go b/pkg/ottl/expression_test.go index 4aa426e558b3..ed6ccaaaadd2 100644 --- a/pkg/ottl/expression_test.go +++ b/pkg/ottl/expression_test.go @@ -59,6 +59,16 @@ func basicSlice() (ExprFunc[any], error) { }, nil } +func basicSliceString() (ExprFunc[any], error) { + return func(_ context.Context, _ any) (any, error) { + return []any{ + []string{ + "pass", + }, + }, nil + }, nil +} + func Test_newGetter(t *testing.T) { tests := []struct { name string @@ -237,6 +247,25 @@ func Test_newGetter(t *testing.T) { }, want: "pass", }, + { + name: "function call nested SliceString", + val: value{ + Literal: &mathExprLiteral{ + Converter: &converter{ + Function: "SliceString", + Keys: []key{ + { + Int: ottltest.Intp(0), + }, + { + Int: ottltest.Intp(0), + }, + }, + }, + }, + }, + want: "pass", + }, { name: "enum", val: value{ @@ -532,6 +561,7 @@ func Test_newGetter(t *testing.T) { createFactory("Map", &struct{}{}, basicMap), createFactory("PSlice", &struct{}{}, pslice), createFactory("Slice", &struct{}{}, basicSlice), + createFactory("SliceString", &struct{}{}, basicSliceString), ) p, _ := NewParser[any]( diff --git a/pkg/ottl/functions.go b/pkg/ottl/functions.go index 251e79587b75..4ff92123c7e6 100644 --- a/pkg/ottl/functions.go +++ b/pkg/ottl/functions.go @@ -33,16 +33,7 @@ func buildOriginalText(path *path) string { for i, f := range path.Fields { builder.WriteString(f.Name) if len(f.Keys) > 0 { - for _, k := range f.Keys { - builder.WriteString("[") - if k.Int != nil { - builder.WriteString(strconv.FormatInt(*k.Int, 10)) - } - if k.String != nil { - builder.WriteString(*k.String) - } - builder.WriteString("]") - } + builder.WriteString(buildOriginalKeysText(f.Keys)) } if i != len(path.Fields)-1 { builder.WriteString(".") @@ -51,6 +42,23 @@ func buildOriginalText(path *path) string { return builder.String() } +func buildOriginalKeysText(keys []key) string { + var builder strings.Builder + if len(keys) > 0 { + for _, k := range keys { + builder.WriteString("[") + if k.Int != nil { + builder.WriteString(strconv.FormatInt(*k.Int, 10)) + } + if k.String != nil { + builder.WriteString(*k.String) + } + builder.WriteString("]") + } + } + return builder.String() +} + func (p *Parser[K]) newPath(path *path) (*basePath[K], error) { if len(path.Fields) == 0 { return nil, fmt.Errorf("cannot make a path from zero fields") diff --git a/pkg/ottl/go.mod b/pkg/ottl/go.mod index e33b6ad5f5f9..4e0edf36ab57 100644 --- a/pkg/ottl/go.mod +++ b/pkg/ottl/go.mod @@ -4,57 +4,53 @@ go 1.22.0 require ( github.com/alecthomas/participle/v2 v2.1.1 + github.com/antchfx/xmlquery v1.4.2 + github.com/antchfx/xpath v1.3.2 github.com/elastic/go-grok v0.3.1 github.com/gobwas/glob v0.2.3 + github.com/goccy/go-json v0.10.3 github.com/google/uuid v1.6.0 github.com/iancoleman/strcase v0.3.0 - github.com/json-iterator/go v1.1.12 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.112.0 github.com/stretchr/testify v1.9.0 github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/semconv v0.112.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 - golang.org/x/net v0.28.0 - golang.org/x/text v0.17.0 + golang.org/x/net v0.30.0 + golang.org/x/text v0.19.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/klauspost/compress v1.17.9 // indirect + github.com/json-iterator/go v1.1.12 // indirect github.com/magefile/mage v1.15.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/sys v0.24.0 // indirect + golang.org/x/sys v0.26.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/ottl/go.sum b/pkg/ottl/go.sum index f08f9d239817..7291988fe7f8 100644 --- a/pkg/ottl/go.sum +++ b/pkg/ottl/go.sum @@ -4,8 +4,10 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/antchfx/xmlquery v1.4.2 h1:MZKd9+wblwxfQ1zd1AdrTsqVaMjMCwow3IqkCSe00KA= +github.com/antchfx/xmlquery v1.4.2/go.mod h1:QXhvf5ldTuGqhd1SHNvvtlhhdQLks4dD0awIVhXIDTA= +github.com/antchfx/xpath v1.3.2 h1:LNjzlsSjinu3bQpw9hWMY9ocB80oLOWuQqFvO6xt51U= +github.com/antchfx/xpath v1.3.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -22,8 +24,12 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -39,14 +45,10 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -54,18 +56,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -76,26 +68,25 @@ github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 h1:SIKIoA4e/5Y9ZO github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6/go.mod h1:BUbeWZiieNxAuuADTBNb3/aeje6on3DhU3rpWsQSB1E= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -105,42 +96,59 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/ottl/grammar.go b/pkg/ottl/grammar.go index 369eff00ecbd..a1e5eb53a81d 100644 --- a/pkg/ottl/grammar.go +++ b/pkg/ottl/grammar.go @@ -6,6 +6,7 @@ package ottl // import "github.com/open-telemetry/opentelemetry-collector-contri import ( "encoding/hex" "fmt" + "strings" "github.com/alecthomas/participle/v2/lexer" ) @@ -19,17 +20,17 @@ type parsedStatement struct { } func (p *parsedStatement) checkForCustomError() error { + validator := &grammarCustomErrorsVisitor{} if p.Converter != nil { - return fmt.Errorf("editor names must start with a lowercase letter but got '%v'", p.Converter.Function) - } - err := p.Editor.checkForCustomError() - if err != nil { - return err + validator.add(fmt.Errorf("editor names must start with a lowercase letter but got '%v'", p.Converter.Function)) } + + p.Editor.accept(validator) if p.WhereClause != nil { - return p.WhereClause.checkForCustomError() + p.WhereClause.accept(validator) } - return nil + + return validator.join() } type constExpr struct { @@ -47,14 +48,16 @@ type booleanValue struct { SubExpr *booleanExpression `parser:"| '(' @@ ')' )"` } -func (b *booleanValue) checkForCustomError() error { +func (b *booleanValue) accept(v grammarVisitor) { if b.Comparison != nil { - return b.Comparison.checkForCustomError() + b.Comparison.accept(v) + } + if b.ConstExpr != nil && b.ConstExpr.Converter != nil { + b.ConstExpr.Converter.accept(v) } if b.SubExpr != nil { - return b.SubExpr.checkForCustomError() + b.SubExpr.accept(v) } - return nil } // opAndBooleanValue represents the right side of an AND boolean expression. @@ -63,8 +66,10 @@ type opAndBooleanValue struct { Value *booleanValue `parser:"@@"` } -func (b *opAndBooleanValue) checkForCustomError() error { - return b.Value.checkForCustomError() +func (b *opAndBooleanValue) accept(v grammarVisitor) { + if b.Value != nil { + b.Value.accept(v) + } } // term represents an arbitrary number of boolean values joined by AND. @@ -73,18 +78,15 @@ type term struct { Right []*opAndBooleanValue `parser:"@@*"` } -func (b *term) checkForCustomError() error { - err := b.Left.checkForCustomError() - if err != nil { - return err +func (b *term) accept(v grammarVisitor) { + if b.Left != nil { + b.Left.accept(v) } for _, r := range b.Right { - err = r.checkForCustomError() - if err != nil { - return err + if r != nil { + r.accept(v) } } - return nil } // opOrTerm represents the right side of an OR boolean expression. @@ -93,8 +95,10 @@ type opOrTerm struct { Term *term `parser:"@@"` } -func (b *opOrTerm) checkForCustomError() error { - return b.Term.checkForCustomError() +func (b *opOrTerm) accept(v grammarVisitor) { + if b.Term != nil { + b.Term.accept(v) + } } // booleanExpression represents a true/false decision expressed @@ -105,17 +109,20 @@ type booleanExpression struct { } func (b *booleanExpression) checkForCustomError() error { - err := b.Left.checkForCustomError() - if err != nil { - return err + validator := &grammarCustomErrorsVisitor{} + b.accept(validator) + return validator.join() +} + +func (b *booleanExpression) accept(v grammarVisitor) { + if b.Left != nil { + b.Left.accept(v) } for _, r := range b.Right { - err = r.checkForCustomError() - if err != nil { - return err + if r != nil { + r.accept(v) } } - return nil } // compareOp is the type of a comparison operator. @@ -178,13 +185,9 @@ type comparison struct { Right value `parser:"@@"` } -func (c *comparison) checkForCustomError() error { - err := c.Left.checkForCustomError() - if err != nil { - return err - } - err = c.Right.checkForCustomError() - return err +func (c *comparison) accept(v grammarVisitor) { + c.Left.accept(v) + c.Right.accept(v) } // editor represents the function call of a statement. @@ -195,19 +198,11 @@ type editor struct { Keys []key `parser:"( @@ )*"` } -func (i *editor) checkForCustomError() error { - var err error - +func (i *editor) accept(v grammarVisitor) { + v.visitEditor(i) for _, arg := range i.Arguments { - err = arg.checkForCustomError() - if err != nil { - return err - } - } - if i.Keys != nil { - return fmt.Errorf("only paths and converters may be indexed, not editors, but got %v %v", i.Function, i.Keys) + arg.accept(v) } - return nil } // converter represents a converter function call. @@ -217,14 +212,22 @@ type converter struct { Keys []key `parser:"( @@ )*"` } +func (c *converter) accept(v grammarVisitor) { + if c.Arguments != nil { + for _, a := range c.Arguments { + a.accept(v) + } + } +} + type argument struct { Name string `parser:"(@(Lowercase(Uppercase | Lowercase)*) Equal)?"` Value value `parser:"( @@"` FunctionName *string `parser:"| @(Uppercase(Uppercase | Lowercase)*) )"` } -func (a *argument) checkForCustomError() error { - return a.Value.checkForCustomError() +func (a *argument) accept(v grammarVisitor) { + a.Value.accept(v) } // value represents a part of a parsed statement which is resolved to a value of some sort. This can be a telemetry path @@ -241,18 +244,27 @@ type value struct { List *list `parser:"| @@)"` } -func (v *value) checkForCustomError() error { +func (v *value) accept(vis grammarVisitor) { + vis.visitValue(v) if v.Literal != nil { - return v.Literal.checkForCustomError() + v.Literal.accept(vis) } if v.MathExpression != nil { - return v.MathExpression.checkForCustomError() + v.MathExpression.accept(vis) + } + if v.Map != nil { + v.Map.accept(vis) + } + if v.List != nil { + for _, i := range v.List.Values { + i.accept(vis) + } } - return nil } // path represents a telemetry path mathExpression. type path struct { + Pos lexer.Position Context string `parser:"(@Lowercase '.')?"` Fields []field `parser:"@@ ( '.' @@ )*"` } @@ -276,6 +288,14 @@ type mapValue struct { Values []mapItem `parser:"'{' (@@ ','?)* '}'"` } +func (m *mapValue) accept(v grammarVisitor) { + for _, i := range m.Values { + if i.Value != nil { + i.Value.accept(v) + } + } +} + type mapItem struct { Key *string `parser:"@String ':'"` Value *value `parser:"@@"` @@ -319,11 +339,17 @@ type mathExprLiteral struct { Path *path `parser:"| @@ )"` } -func (m *mathExprLiteral) checkForCustomError() error { +func (m *mathExprLiteral) accept(v grammarVisitor) { + v.visitMathExprLiteral(m) + if m.Path != nil { + v.visitPath(m.Path) + } if m.Editor != nil { - return fmt.Errorf("converter names must start with an uppercase letter but got '%v'", m.Editor.Function) + m.Editor.accept(v) + } + if m.Converter != nil { + m.Converter.accept(v) } - return nil } type mathValue struct { @@ -331,11 +357,13 @@ type mathValue struct { SubExpression *mathExpression `parser:"| '(' @@ ')' )"` } -func (m *mathValue) checkForCustomError() error { +func (m *mathValue) accept(v grammarVisitor) { if m.Literal != nil { - return m.Literal.checkForCustomError() + m.Literal.accept(v) + } + if m.SubExpression != nil { + m.SubExpression.accept(v) } - return m.SubExpression.checkForCustomError() } type opMultDivValue struct { @@ -343,8 +371,10 @@ type opMultDivValue struct { Value *mathValue `parser:"@@"` } -func (m *opMultDivValue) checkForCustomError() error { - return m.Value.checkForCustomError() +func (m *opMultDivValue) accept(v grammarVisitor) { + if m.Value != nil { + m.Value.accept(v) + } } type addSubTerm struct { @@ -352,18 +382,15 @@ type addSubTerm struct { Right []*opMultDivValue `parser:"@@*"` } -func (m *addSubTerm) checkForCustomError() error { - err := m.Left.checkForCustomError() - if err != nil { - return err +func (m *addSubTerm) accept(v grammarVisitor) { + if m.Left != nil { + m.Left.accept(v) } for _, r := range m.Right { - err = r.checkForCustomError() - if err != nil { - return err + if r != nil { + r.accept(v) } } - return nil } type opAddSubTerm struct { @@ -371,8 +398,10 @@ type opAddSubTerm struct { Term *addSubTerm `parser:"@@"` } -func (m *opAddSubTerm) checkForCustomError() error { - return m.Term.checkForCustomError() +func (r *opAddSubTerm) accept(v grammarVisitor) { + if r.Term != nil { + r.Term.accept(v) + } } type mathExpression struct { @@ -380,18 +409,17 @@ type mathExpression struct { Right []*opAddSubTerm `parser:"@@*"` } -func (m *mathExpression) checkForCustomError() error { - err := m.Left.checkForCustomError() - if err != nil { - return err +func (m *mathExpression) accept(v grammarVisitor) { + if m.Left != nil { + m.Left.accept(v) } - for _, r := range m.Right { - err = r.checkForCustomError() - if err != nil { - return err + if m.Right != nil { + for _, r := range m.Right { + if r != nil { + r.accept(v) + } } } - return nil } type mathOp int @@ -464,3 +492,71 @@ func buildLexer() *lexer.StatefulDefinition { {Name: "whitespace", Pattern: `\s+`}, }) } + +// grammarCustomError represents a grammar error in which the statement has a valid syntax +// according to the grammar's definition, but is still logically invalid. +type grammarCustomError struct { + errs []error +} + +// Error returns all errors messages separate by semicolons. +func (e *grammarCustomError) Error() string { + switch len(e.errs) { + case 0: + return "" + case 1: + return e.errs[0].Error() + default: + var b strings.Builder + b.WriteString(e.errs[0].Error()) + for _, err := range e.errs[1:] { + b.WriteString("; ") + b.WriteString(err.Error()) + } + return b.String() + } +} + +func (e *grammarCustomError) Unwrap() []error { + return e.errs +} + +// grammarVisitor allows accessing the grammar AST nodes using the visitor pattern. +type grammarVisitor interface { + visitPath(v *path) + visitEditor(v *editor) + visitValue(v *value) + visitMathExprLiteral(v *mathExprLiteral) +} + +// grammarCustomErrorsVisitor is used to execute custom validations on the grammar AST. +type grammarCustomErrorsVisitor struct { + errs []error +} + +func (g *grammarCustomErrorsVisitor) add(err error) { + g.errs = append(g.errs, err) +} + +func (g *grammarCustomErrorsVisitor) join() error { + if len(g.errs) == 0 { + return nil + } + return &grammarCustomError{errs: g.errs} +} + +func (g *grammarCustomErrorsVisitor) visitPath(_ *path) {} + +func (g *grammarCustomErrorsVisitor) visitValue(_ *value) {} + +func (g *grammarCustomErrorsVisitor) visitEditor(v *editor) { + if v.Keys != nil { + g.add(fmt.Errorf("only paths and converters may be indexed, not editors, but got %s%s", v.Function, buildOriginalKeysText(v.Keys))) + } +} + +func (g *grammarCustomErrorsVisitor) visitMathExprLiteral(v *mathExprLiteral) { + if v.Editor != nil { + g.add(fmt.Errorf("converter names must start with an uppercase letter but got '%v'", v.Editor.Function)) + } +} diff --git a/pkg/ottl/ottlfuncs/README.md b/pkg/ottl/ottlfuncs/README.md index 7c21b4cd6dcc..69f6163f10e4 100644 --- a/pkg/ottl/ottlfuncs/README.md +++ b/pkg/ottl/ottlfuncs/README.md @@ -413,16 +413,20 @@ Available Converters: - [Decode](#decode) - [Concat](#concat) - [ConvertCase](#convertcase) +- [ConvertAttributesToElementsXML](#convertattributestoelementsxml) +- [ConvertTextToElementsXML](#converttexttoelementsxml) - [Day](#day) +- [Double](#double) +- [Duration](#duration) - [ExtractPatterns](#extractpatterns) - [ExtractGrokPatterns](#extractgrokpatterns) - [FNV](#fnv) - [Format](#format) +- [GetXML](#getxml) - [Hex](#hex) - [Hour](#hour) - [Hours](#hours) -- [Double](#double) -- [Duration](#duration) +- [InsertXML](#insertxml) - [Int](#int) - [IsBool](#isbool) - [IsDouble](#isdouble) @@ -445,7 +449,9 @@ Available Converters: - [ParseCSV](#parsecsv) - [ParseJSON](#parsejson) - [ParseKeyValue](#parsekeyvalue) +- [ParseSimplifiedXML](#parsesimplifiedxml) - [ParseXML](#parsexml) +- [RemoveXML](#removexml) - [Seconds](#seconds) - [SHA1](#sha1) - [SHA256](#sha256) @@ -456,6 +462,7 @@ Available Converters: - [String](#string) - [Substring](#substring) - [Time](#time) +- [ToKeyValueString](#tokeyvaluestring) - [TraceID](#traceid) - [TruncateTime](#truncatetime) - [Unix](#unix) @@ -543,6 +550,61 @@ Examples: - `ConvertCase(metric.name, "snake")` +### ConvertAttributesToElementsXML + +`ConvertAttributesToElementsXML(target, Optional[xpath])` + +The `ConvertAttributesToElementsXML` Converter returns an edited version of an XML string where attributes are converted into child elements. + +`target` is a Getter that returns a string. This string should be in XML format. +If `target` is not a string, nil, or cannot be parsed as XML, `ConvertAttributesToElementsXML` will return an error. + +`xpath` (optional) is a string that specifies an [XPath](https://www.w3.org/TR/1999/REC-xpath-19991116/) expression that +selects one or more elements. Attributes will only be converted within the result(s) of the xpath. + +For example, `baz` will be converted to `bazbar`. + +Examples: + +Convert all attributes in a document + +- `ConvertAttributesToElementsXML(body)` + +Convert only attributes within "Record" elements + +- `ConvertAttributesToElementsXML(body, "/Log/Record")` + +### ConvertTextToElementsXML + +`ConvertTextToElementsXML(target, Optional[xpath], Optional[elementName])` + +The `ConvertTextToElementsXML` Converter returns an edited version of an XML string where all text belongs to a dedicated element. + +`target` is a Getter that returns a string. This string should be in XML format. +If `target` is not a string, nil, or cannot be parsed as XML, `ConvertTextToElementsXML` will return an error. + +`xpath` (optional) is a string that specifies an [XPath](https://www.w3.org/TR/1999/REC-xpath-19991116/) expression that +selects one or more elements. Content will only be converted within the result(s) of the xpath. The default is `/`. + +`elementName` (optional) is a string that is used for any element tags that are created to wrap content. +The default is `"value"`. + +For example, `foobar` will be converted to `foobar`. + +Examples: + +Ensure all text content in a document is wrapped in a dedicated element + +- `ConvertTextToElementsXML(body)` + +Use a custom name for any new elements + +- `ConvertTextToElementsXML(body, elementName = "custom")` + +Convert only part of the document + +- `ConvertTextToElementsXML(body, "/some/part/", "value")` + ### Day `Day(value)` @@ -741,6 +803,37 @@ Examples: - `Format("%04d-%02d-%02d", [Year(Now()), Month(Now()), Day(Now())])` - `Format("%s/%s/%04d-%02d-%02d.log", [attributes["hostname"], body["program"], Year(Now()), Month(Now()), Day(Now())])` + +### GetXML + +`GetXML(target, xpath)` + +The `GetXML` Converter returns an XML string with selected elements. + +`target` is a Getter that returns a string. This string should be in XML format. +If `target` is not a string, nil, or is not valid xml, `GetXML` will return an error. + +`xpath` is a string that specifies an [XPath](https://www.w3.org/TR/1999/REC-xpath-19991116/) expression that +selects one or more elements. Currently, this converter only supports selecting elements. + +Examples: + +Get all elements at the root of the document with tag "a" + +- `GetXML(body, "/a")` + +Gel all elements anywhere in the document with tag "a" + +- `GetXML(body, "//a")` + +Get the first element at the root of the document with tag "a" + +- `GetXML(body, "/a[1]")` + +Get all elements in the document with tag "a" that have an attribute "b" with value "c" + +- `GetXML(body, "//a[@b='c']")` + ### Hex `Hex(value)` @@ -796,6 +889,35 @@ Examples: - `Hours(Duration("1h"))` +### InsertXML + +`InsertXML(target, xpath, value)` + +The `InsertXML` Converter returns an edited version of an XML string with child elements added to selected elements. + +`target` is a Getter that returns a string. This string should be in XML format and represents the document which will +be modified. If `target` is not a string, nil, or is not valid xml, `InsertXML` will return an error. + +`xpath` is a string that specifies an [XPath](https://www.w3.org/TR/1999/REC-xpath-19991116/) expression that +selects one or more elements. + +`value` is a Getter that returns a string. This string should be in XML format and represents the document which will +be inserted into `target`. If `value` is not a string, nil, or is not valid xml, `InsertXML` will return an error. + +Examples: + +Add an element "foo" to the root of the document + +- `InsertXML(body, "/", "")` + +Add an element "bar" to any element called "foo" + +- `InsertXML(body, "//foo", "")` + +Fetch and insert an xml document into another + +- `InsertXML(body, "/subdoc", attributes["subdoc"])` + ### Int `Int(value)` @@ -1170,7 +1292,7 @@ The `ParseJSON` Converter returns a `pcommon.Map` or `pcommon.Slice` struct that `target` is a Getter that returns a string. This string should be in json format. If `target` is not a string, nil, or cannot be parsed as JSON, `ParseJSON` will return an error. -Unmarshalling is done using [jsoniter](https://github.com/json-iterator/go). +Unmarshalling is done using [goccy/go-json](https://github.com/goccy/go-json). Each JSON type is converted into a `pdata.Value` using the following map: ``` @@ -1214,6 +1336,132 @@ Examples: - `ParseKeyValue("k1!v1_k2!v2_k3!v3", "!", "_")` - `ParseKeyValue(attributes["pairs"])` +### ParseSimplifiedXML + +`ParseSimplifiedXML(target)` + +The `ParseSimplifiedXML` Converter returns a `pcommon.Map` struct that is the result of parsing the target string without preservation of attributes or extraneous text content. + +The goal of this Converter is to produce a more user-friendly representation of XML data than the `ParseXML` Converter. +This Converter should be preferred over `ParseXML` when minor semantic details (e.g. order of elements) are not critically important, when subsequent processing or querying of the result is expected, or when human-readability is a concern. + +This Converter disregards certain aspects of XML, specifically attributes and extraneous text content, in order to produce +a direct representation of XML data. Users are encouraged to simplify their XML documents prior to using `ParseSimplifiedXML`. + +See other functions which may be useful for preparing XML documents: + +- `ConvertAttributesToElementsXML` +- `ConvertTextToElementsXML` +- `RemoveXML` +- `InsertXML` +- `GetXML` + +#### Formal Definitions + +A "Simplified XML" document contains no attributes and no extraneous text content. + +An element has "extraneous text content" when it contains both text and element content. e.g. + +```xml + + bar + world + +``` + +#### Parsing logic + +1. Declaration elements, attributes, comments, and extraneous text content are ignored. +2. Elements which contain a value are converted into key/value pairs. + e.g. `bar` becomes `"foo": "bar"` +3. Elements which contain child elements are converted into a key/value pair where the value is a map. + e.g. ` baz ` becomes `"foo": { "bar": "baz" }` +4. Sibling elements that share the same tag will be combined into a slice. + e.g. ` 1 2 3 ` becomes `"a": { "b": "1", "c": [ "2", "3" ] }`. +5. Empty elements are dropped, but they can determine whether a value should be a slice or map. + e.g. ` 1 ` becomes `"a": { "b": [ "1" ] }` instead of `"a": { "b": "1" }` + +#### Examples + +Parse a Simplified XML document from the body: + +```xml + + 1 + jane +
+ + Something happened + unknown +
+
+``` + +```json +{ + "event": { + "id": 1, + "user": "jane", + "details": { + "time": "2021-10-01T12:00:00Z", + "description": "Something happened", + "cause": "unknown" + } + } +} +``` + +Parse a Simplified XML document with unique child elements: + +```xml + + 1 + 2 + +``` + +```json +{ + "x": { + "y": "1", + "z": "2" + } +} +``` + +Parse a Simplified XML document with multiple elements of the same tag: + +```xml + + 1 + 2 + +``` + +```json +{ + "a": { + "b": ["1", "2"] + } +} +``` + +Parse a Simplified XML document with CDATA element: + +```xml + + 1 + + +``` + +```json +{ + "a": { + "b": ["1", "2"] + } +} +``` ### ParseXML @@ -1285,7 +1533,70 @@ Examples: - `ParseXML("")` +### RemoveXML + +`RemoveXML(target, xpath)` + +The `RemoveXML` Converter returns an edited version of an XML string with selected elements removed. + +`target` is a Getter that returns a string. This string should be in XML format. +If `target` is not a string, nil, or is not valid xml, `RemoveXML` will return an error. + +`xpath` is a string that specifies an [XPath](https://www.w3.org/TR/1999/REC-xpath-19991116/) expression that +selects one or more elements to remove from the XML document. + +For example, the XPath `/Log/Record[./Name/@type="archive"]` applied to the following XML document: + +```xml + + + + 00001 + + Some data + + + 00002 + + Some data + + +``` + +will return: + +```xml + + + + 00002 + + Some data + + +``` + +Examples: + +Delete the attribute "foo" from the elements with tag "a" + +- `RemoveXML(body, "/a/@foo")` +Delete all elements with tag "b" that are children of elements with tag "a" + +- `RemoveXML(body, "/a/b")` + +Delete all elements with tag "b" that are children of elements with tag "a" and have the attribute "foo" with value "bar" + +- `RemoveXML(body, "/a/b[@foo='bar']")` + +Delete all comments + +- `RemoveXML(body, "//comment()")` + +Delete text from nodes that contain the word "sensitive" + +- `RemoveXML(body, "//*[contains(text(), 'sensitive')]")` ### Seconds @@ -1455,11 +1766,11 @@ Examples: ### Time -`Time(target, format, Optional[location])` +`Time(target, format, Optional[location], Optional[locale])` The `Time` Converter takes a string representation of a time and converts it to a Golang `time.Time`. -`target` is a string. `format` is a string, `location` is an optional string. +`target` is a string. `format` is a string, `location` is an optional string, `locale` is an optional string. If either `target` or `format` are nil, an error is returned. The parser used is the parser at [internal/coreinternal/parser](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/internal/coreinternal/timeutils). If the `target` and `format` do not follow the parsing rules used by this parser, an error is returned. @@ -1490,6 +1801,10 @@ If either `target` or `format` are nil, an error is returned. The parser used is |`%s` | Nanosecond as a zero-padded number | 00000000, ..., 99999999 | |`%z` | UTC offset in the form ±HHMM[SS[.ffffff]] or empty | +0000, -0400 | |`%Z` | Timezone name or abbreviation or empty | UTC, EST, CST | +|`%i` | Timezone as +/-HH | -07 | +|`%j` | Timezone as +/-HH:MM | -07:00 | +|`%k` | Timezone as +/-HH:MM:SS | -07:00:00 | +|`%w` | Timezone as +/-HHMMSS | -070000 | |`%D`, `%x` | Short MM/DD/YYYY date, equivalent to %m/%d/%y | 01/21/2031 | |`%F` | Short YYYY-MM-DD date, equivalent to %Y-%m-%d | 2031-01-21 | |`%T`,`%X` | ISO 8601 time format (HH:MM:SS), equivalent to %H:%M:%S | 02:55:02 | @@ -1519,6 +1834,55 @@ Examples: - `Time("2012-11-01T22:08:41+0000 EST", "%Y-%m-%dT%H:%M:%S%z %Z")` - `Time("2023-05-26 12:34:56", "%Y-%m-%d %H:%M:%S", "America/New_York")` +`locale` specifies the input language of the `target` value. It is used to interpret timestamp values written in a specific language, +ensuring that the function can correctly parse the localized month names, day names, and periods of the day based on the provided language. + +The value must be a well-formed BCP 47 language tag, and a known [CLDR](https://cldr.unicode.org) v45 locale. +If not supplied, English (`en`) is used. + +Examples: + +- `Time("mercoledì set 4 2024", "%A %h %e %Y", "", "it")` +- `Time("Febrero 25 lunes, 2002, 02:03:04 p.m.", "%B %d %A, %Y, %r", "America/New_York", "es-ES")` + +### ToKeyValueString + +`ToKeyValueString(target, Optional[delimiter], Optional[pair_delimiter], Optional[sort_output])` + +The `ToKeyValueString` Converter takes a `pcommon.Map` and converts it to a `string` of key value pairs. + +- `target` is a Getter that returns a `pcommon.Map`. +- `delimiter` is an optional string that is used to join keys and values, the default is `=`. +- `pair_delimiter` is an optional string that is used to join key value pairs, the default is a single space (` `). +- `sort_output` is an optional bool that is used to deterministically sort the keys of the output string. It should only be used if the output is required to be in the same order each time, as it introduces some performance overhead. + +For example, the following map `{"k1":"v1","k2":"v2","k3":"v3"}` will use default delimiters and be converted into the following string: + +``` +`k1=v1 k2=v2 k3=v3` +``` + +**Note:** Any nested arrays or maps will be represented as a JSON string. It is recommended to [flatten](#flatten) `target` before using this function. + +For example, `{"k1":"v1","k2":{"k3":"v3","k4":["v4","v5"]}}` will be converted to: + +``` +`k1=v1 k2={\"k3\":\"v3\",\"k4\":[\"v4\",\"v5\"]}` +``` + +**Note:** If any keys or values contain either delimiter, they will be double quoted. If any double quotes are present in the quoted value, they will be escaped. + +For example, `{"k1":"v1","k2":"v=2","k3"="\"v=3\""}` will be converted to: + +``` +`k1=v1 k2="v=2" k3="\"v=3\""` +``` + +Examples: + +- `ToKeyValueString(body)` +- `ToKeyValueString(body, ":", ",", true)` + ### TraceID `TraceID(bytes)` diff --git a/pkg/ottl/ottlfuncs/func_convert_attributes_to_elements_xml.go b/pkg/ottl/ottlfuncs/func_convert_attributes_to_elements_xml.go new file mode 100644 index 000000000000..64d4ecc5fde5 --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_convert_attributes_to_elements_xml.go @@ -0,0 +1,69 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "fmt" + + "github.com/antchfx/xmlquery" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +type ConvertAttributesToElementsXMLArguments[K any] struct { + Target ottl.StringGetter[K] + XPath ottl.Optional[string] +} + +func NewConvertAttributesToElementsXMLFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory("ConvertAttributesToElementsXML", &ConvertAttributesToElementsXMLArguments[K]{}, createConvertAttributesToElementsXMLFunction[K]) +} + +func createConvertAttributesToElementsXMLFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*ConvertAttributesToElementsXMLArguments[K]) + + if !ok { + return nil, fmt.Errorf("ConvertAttributesToElementsXML args must be of type *ConvertAttributesToElementsXMLAguments[K]") + } + + xPath := args.XPath.Get() + if xPath == "" { + xPath = "//@*" // All attributes in the document + } + if err := validateXPath(xPath); err != nil { + return nil, err + } + + return convertAttributesToElementsXML(args.Target, xPath), nil +} + +// convertAttributesToElementsXML returns a string that is a result of converting all attributes of the +// target XML into child elements. These new elements are added as the last child elements of the parent. +// e.g. -> worldbar +func convertAttributesToElementsXML[K any](target ottl.StringGetter[K], xPath string) ottl.ExprFunc[K] { + return func(ctx context.Context, tCtx K) (any, error) { + var doc *xmlquery.Node + if targetVal, err := target.Get(ctx, tCtx); err != nil { + return nil, err + } else if doc, err = parseNodesXML(targetVal); err != nil { + return nil, err + } + for _, n := range xmlquery.Find(doc, xPath) { + if n.Type != xmlquery.AttributeNode { + continue + } + xmlquery.AddChild(n.Parent, &xmlquery.Node{ + Type: xmlquery.ElementNode, + Data: n.Data, + FirstChild: &xmlquery.Node{ + Type: xmlquery.TextNode, + Data: n.InnerText(), + }, + }) + n.Parent.RemoveAttr(n.Data) + } + return doc.OutputXML(false), nil + } +} diff --git a/pkg/ottl/ottlfuncs/func_convert_attributes_to_elements_xml_test.go b/pkg/ottl/ottlfuncs/func_convert_attributes_to_elements_xml_test.go new file mode 100644 index 000000000000..11bc2c5a29bd --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_convert_attributes_to_elements_xml_test.go @@ -0,0 +1,126 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +func Test_ConvertAttributesToElementsXML(t *testing.T) { + tests := []struct { + name string + document string + xPath string + want string + }{ + { + name: "nop", + document: ``, + want: ``, + }, + { + name: "nop declaration", + document: ``, + want: ``, + }, + { + name: "single attribute", + document: ``, + want: `bar`, + }, + { + name: "multiple attributes - order 1", + document: ``, + want: `barworld`, + }, + { + name: "multiple attributes - order 2", + document: ``, + want: `worldbar`, + }, + { + name: "with child elements", + document: ``, + want: `worldbar`, + }, + { + name: "with child value", + document: `free value`, + want: `free valueworldbar`, + }, + { + name: "with child elements and values", + document: `free value2`, + want: `free value2worldbar`, + }, + { + name: "multiple levels", + document: ``, + want: `www.example.comworldbar`, + }, + { + name: "xpath filtered", + document: ``, + xPath: "/a/b/@*", // only convert attributes of b + want: `www.example.com`, + }, + { + name: "attributes found with non-attributes xpath", + document: ``, + xPath: "/a/b", // convert b (the attributes of b, even though the element b was selected) + want: ``, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + args := &ConvertAttributesToElementsXMLArguments[any]{ + Target: ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return tt.document, nil + }, + }, + XPath: ottl.NewTestingOptional(tt.xPath), + } + exprFunc, err := createConvertAttributesToElementsXMLFunction[any](ottl.FunctionContext{}, args) + assert.NoError(t, err) + + result, err := exprFunc(context.Background(), nil) + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + }) + } +} + +func TestCreateConvertAttributesToElementsXMLFunc(t *testing.T) { + factory := NewConvertAttributesToElementsXMLFactory[any]() + fCtx := ottl.FunctionContext{} + + // Invalid arg type + exprFunc, err := factory.CreateFunction(fCtx, nil) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XPath should error on function creation + exprFunc, err = factory.CreateFunction( + fCtx, &ConvertAttributesToElementsXMLArguments[any]{ + XPath: ottl.NewTestingOptional("!"), + }) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XML should error on function execution + exprFunc, err = factory.CreateFunction( + fCtx, &ConvertAttributesToElementsXMLArguments[any]{ + Target: invalidXMLGetter(), + }) + assert.NoError(t, err) + assert.NotNil(t, exprFunc) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} diff --git a/pkg/ottl/ottlfuncs/func_convert_text_to_elements_xml.go b/pkg/ottl/ottlfuncs/func_convert_text_to_elements_xml.go new file mode 100644 index 000000000000..a0fb108c4069 --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_convert_text_to_elements_xml.go @@ -0,0 +1,107 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "fmt" + + "github.com/antchfx/xmlquery" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +type ConvertTextToElementsXMLArguments[K any] struct { + Target ottl.StringGetter[K] + XPath ottl.Optional[string] + ElementName ottl.Optional[string] +} + +func NewConvertTextToElementsXMLFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory("ConvertTextToElementsXML", &ConvertTextToElementsXMLArguments[K]{}, createConvertTextToElementsXMLFunction[K]) +} + +func createConvertTextToElementsXMLFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*ConvertTextToElementsXMLArguments[K]) + + if !ok { + return nil, fmt.Errorf("ConvertTextToElementsXML args must be of type *ConvertTextToElementsXMLAguments[K]") + } + + xPath := args.XPath.Get() + if xPath == "" { + xPath = "/" + } else if err := validateXPath(xPath); err != nil { + return nil, err + } + + elementName := args.ElementName.Get() + if elementName == "" { + elementName = "value" + } + + return convertTextToElementsXML(args.Target, xPath, elementName), nil +} + +// convertTextToElementsXML returns a string that is a result of wrapping any extraneous text nodes with a dedicated element. +func convertTextToElementsXML[K any](target ottl.StringGetter[K], xPath string, elementName string) ottl.ExprFunc[K] { + return func(ctx context.Context, tCtx K) (any, error) { + var doc *xmlquery.Node + if targetVal, err := target.Get(ctx, tCtx); err != nil { + return nil, err + } else if doc, err = parseNodesXML(targetVal); err != nil { + return nil, err + } + for _, n := range xmlquery.Find(doc, xPath) { + convertTextToElementsForNode(n, elementName) + } + return doc.OutputXML(false), nil + } +} + +func convertTextToElementsForNode(parent *xmlquery.Node, elementName string) { + switch parent.Type { + case xmlquery.ElementNode: // ok + case xmlquery.DocumentNode: // ok + default: + return + } + + if parent.FirstChild == nil { + return + } + + // Convert any child nodes and count text and element nodes. + var valueCount, elementCount int + for child := parent.FirstChild; child != nil; child = child.NextSibling { + if child.Type == xmlquery.ElementNode { + convertTextToElementsForNode(child, elementName) + elementCount++ + } else if child.Type == xmlquery.TextNode { + valueCount++ + } + } + + // If there are no values to wrap, or if there is exactly one value OR one element, this node is all set. + if valueCount == 0 || elementCount+valueCount <= 1 { + return + } + + // At this point, we either have multiple values, or a mix of values and elements. + // Either way, we need to wrap the values. + for child := parent.FirstChild; child != nil; child = child.NextSibling { + if child.Type != xmlquery.TextNode { + continue + } + newTextNode := &xmlquery.Node{ + Type: xmlquery.TextNode, + Data: child.Data, + } + // Change this node into an element + child.Type = xmlquery.ElementNode + child.Data = elementName + child.FirstChild = newTextNode + child.LastChild = newTextNode + } +} diff --git a/pkg/ottl/ottlfuncs/func_convert_text_to_elements_xml_test.go b/pkg/ottl/ottlfuncs/func_convert_text_to_elements_xml_test.go new file mode 100644 index 000000000000..7e3b10bcdf12 --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_convert_text_to_elements_xml_test.go @@ -0,0 +1,127 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +func Test_ConvertTextToElementsXML(t *testing.T) { + tests := []struct { + name string + document string + xPath string + elementName string + want string + }{ + { + name: "nop", + document: ``, + want: ``, + }, + { + name: "nop declaration", + document: ``, + want: ``, + }, + { + name: "nop attributes", + document: ``, + want: ``, + }, + { + name: "nop wrapped text", + document: `hello world`, + want: `hello world`, + }, + { + name: "simple hanging", + document: `foo`, + want: `foo`, + }, + { + name: "simple hanging with tag name", + elementName: "bar", + document: `foo`, + want: `foo`, + }, + { + name: "multiple hanging same level", + document: `foobar`, + want: `foobar`, + }, + { + name: "multiple hanging multiple levels", + document: `foobar1not2`, + elementName: "v", + want: `foobar1not2`, + }, + { + name: "xpath select some", + document: `foobarbaz`, + xPath: "/a/b", + want: `foobarbaz`, + }, + { + name: "xpath with element name", + document: `foobarbaz`, + xPath: "/a/b", + elementName: "V", + want: `foobarbaz`, + }, + } + factory := NewConvertTextToElementsXMLFactory[any]() + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + args := &ConvertTextToElementsXMLArguments[any]{ + Target: ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return tt.document, nil + }, + }, + XPath: ottl.NewTestingOptional(tt.xPath), + ElementName: ottl.NewTestingOptional(tt.elementName), + } + exprFunc, err := factory.CreateFunction(ottl.FunctionContext{}, args) + assert.NoError(t, err) + + result, err := exprFunc(context.Background(), nil) + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + }) + } +} + +func TestCreateConvertTextToElementsXMLFunc(t *testing.T) { + factory := NewConvertTextToElementsXMLFactory[any]() + fCtx := ottl.FunctionContext{} + + // Invalid arg type + exprFunc, err := factory.CreateFunction(fCtx, nil) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XPath should error on function creation + exprFunc, err = factory.CreateFunction( + fCtx, &ConvertTextToElementsXMLArguments[any]{ + XPath: ottl.NewTestingOptional("!"), + }) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XML should error on function execution + exprFunc, err = factory.CreateFunction( + fCtx, &ConvertTextToElementsXMLArguments[any]{ + Target: invalidXMLGetter(), + }) + assert.NoError(t, err) + assert.NotNil(t, exprFunc) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} diff --git a/pkg/ottl/ottlfuncs/func_flatten.go b/pkg/ottl/ottlfuncs/func_flatten.go index 44a97b8095bc..ebe30024612c 100644 --- a/pkg/ottl/ottlfuncs/func_flatten.go +++ b/pkg/ottl/ottlfuncs/func_flatten.go @@ -55,7 +55,7 @@ func flatten[K any](target ottl.PMapGetter[K], p ottl.Optional[string], d ottl.O result := pcommon.NewMap() flattenHelper(m, result, prefix, 0, depth) - result.CopyTo(m) + result.MoveTo(m) return nil, nil }, nil diff --git a/pkg/ottl/ottlfuncs/func_get_xml.go b/pkg/ottl/ottlfuncs/func_get_xml.go new file mode 100644 index 000000000000..d5390b62da63 --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_get_xml.go @@ -0,0 +1,62 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "fmt" + + "github.com/antchfx/xmlquery" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +type GetXMLArguments[K any] struct { + Target ottl.StringGetter[K] + XPath string +} + +func NewGetXMLFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory("GetXML", &GetXMLArguments[K]{}, createGetXMLFunction[K]) +} + +func createGetXMLFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*GetXMLArguments[K]) + + if !ok { + return nil, fmt.Errorf("GetXML args must be of type *GetXMLAguments[K]") + } + + if err := validateXPath(args.XPath); err != nil { + return nil, err + } + + return getXML(args.Target, args.XPath), nil +} + +// getXML returns a XML formatted string that is a result of matching elements from the target XML. +func getXML[K any](target ottl.StringGetter[K], xPath string) ottl.ExprFunc[K] { + return func(ctx context.Context, tCtx K) (any, error) { + var doc *xmlquery.Node + if targetVal, err := target.Get(ctx, tCtx); err != nil { + return nil, err + } else if doc, err = parseNodesXML(targetVal); err != nil { + return nil, err + } + + nodes, err := xmlquery.QueryAll(doc, xPath) + if err != nil { + return nil, err + } + + result := &xmlquery.Node{Type: xmlquery.DocumentNode} + for _, n := range nodes { + if n.Type != xmlquery.ElementNode { + continue + } + xmlquery.AddChild(result, n) + } + return result.OutputXML(false), nil + } +} diff --git a/pkg/ottl/ottlfuncs/func_get_xml_test.go b/pkg/ottl/ottlfuncs/func_get_xml_test.go new file mode 100644 index 000000000000..26b8bfde5bc9 --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_get_xml_test.go @@ -0,0 +1,144 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +func Test_GetXML(t *testing.T) { + tests := []struct { + name string + document string + xPath string + want string + }{ + { + name: "get single element", + document: ``, + xPath: "/a/b", + want: ``, + }, + { + name: "get single complex element", + document: `hello`, + xPath: "/a", + want: `hello`, + }, + { + name: "get uniform elements from same parent", + document: `helloworld`, + xPath: "/a/b", + want: `helloworld`, + }, + { + name: "get nonuniform elements from same parent", + document: `helloworld`, + xPath: "/a/*", + want: `helloworld`, + }, + { + name: "get elements from various places", + document: `123`, + xPath: "/a//x", + want: `123`, + }, + { + name: "get filtered elements from various places", + document: `123`, + xPath: "/a//x[@env='prod']", + want: `13`, + }, + { + name: "ignore empty", + document: ``, + xPath: "/", + want: ``, + }, + { + name: "ignore declaration", + document: ``, + xPath: "/*", + want: ``, + }, + { + name: "ignore comments", + document: ``, + xPath: "/*", + want: ``, + }, + { + name: "ignore attribute selection", + document: ``, + xPath: "/@foo", + want: ``, + }, + { + name: "ignore text selection", + document: `hello`, + xPath: "/a/text()", + want: ``, + }, + { + name: "ignore chardata selection", + document: ``, + xPath: "/a/text()", + want: ``, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + factory := NewGetXMLFactory[any]() + exprFunc, err := factory.CreateFunction( + ottl.FunctionContext{}, + &GetXMLArguments[any]{ + Target: ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return tt.document, nil + }, + }, + XPath: tt.xPath, + }) + assert.NoError(t, err) + + result, err := exprFunc(context.Background(), nil) + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + }) + } +} + +func TestCreateGetXMLFunc(t *testing.T) { + factory := NewGetXMLFactory[any]() + fCtx := ottl.FunctionContext{} + + // Invalid arg type + exprFunc, err := factory.CreateFunction(fCtx, nil) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XPath should error on function creation + exprFunc, err = factory.CreateFunction( + fCtx, &GetXMLArguments[any]{ + XPath: "!", + }) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XML should error on function execution + exprFunc, err = factory.CreateFunction( + fCtx, &GetXMLArguments[any]{ + Target: invalidXMLGetter(), + XPath: "/", + }) + assert.NoError(t, err) + assert.NotNil(t, exprFunc) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} diff --git a/pkg/ottl/ottlfuncs/func_insert_xml.go b/pkg/ottl/ottlfuncs/func_insert_xml.go new file mode 100644 index 000000000000..778b16938a07 --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_insert_xml.go @@ -0,0 +1,75 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "errors" + "fmt" + + "github.com/antchfx/xmlquery" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +type InsertXMLArguments[K any] struct { + Target ottl.StringGetter[K] + XPath string + SubDocument ottl.StringGetter[K] +} + +func NewInsertXMLFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory("InsertXML", &InsertXMLArguments[K]{}, createInsertXMLFunction[K]) +} + +func createInsertXMLFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*InsertXMLArguments[K]) + + if !ok { + return nil, fmt.Errorf("InsertXML args must be of type *InsertXMLAguments[K]") + } + + if err := validateXPath(args.XPath); err != nil { + return nil, err + } + + return insertXML(args.Target, args.XPath, args.SubDocument), nil +} + +// insertXML returns a XML formatted string that is a result of inserting another XML document into +// the content of each selected target element. +func insertXML[K any](target ottl.StringGetter[K], xPath string, subGetter ottl.StringGetter[K]) ottl.ExprFunc[K] { + return func(ctx context.Context, tCtx K) (any, error) { + var doc *xmlquery.Node + if targetVal, err := target.Get(ctx, tCtx); err != nil { + return nil, err + } else if doc, err = parseNodesXML(targetVal); err != nil { + return nil, err + } + + var subDoc *xmlquery.Node + if subDocVal, err := subGetter.Get(ctx, tCtx); err != nil { + return nil, err + } else if subDoc, err = parseNodesXML(subDocVal); err != nil { + return nil, err + } + + nodes, errs := xmlquery.QueryAll(doc, xPath) + for _, n := range nodes { + switch n.Type { + case xmlquery.ElementNode, xmlquery.DocumentNode: + var nextSibling *xmlquery.Node + for c := subDoc.FirstChild; c != nil; c = nextSibling { + // AddChild updates c.NextSibling but not subDoc.FirstChild + // so we need to get the handle to it prior to the update. + nextSibling = c.NextSibling + xmlquery.AddChild(n, c) + } + default: + errs = errors.Join(errs, fmt.Errorf("InsertXML XPath selected non-element: %q", n.Data)) + } + } + return doc.OutputXML(false), errs + } +} diff --git a/pkg/ottl/ottlfuncs/func_insert_xml_test.go b/pkg/ottl/ottlfuncs/func_insert_xml_test.go new file mode 100644 index 000000000000..32750d4c8feb --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_insert_xml_test.go @@ -0,0 +1,185 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +func Test_InsertXML(t *testing.T) { + tests := []struct { + name string + document string + xPath string + subdoc string + want string + expectErr string + }{ + { + name: "add single element", + document: ``, + xPath: "/a", + subdoc: ``, + want: ``, + }, + { + name: "add single element to multiple matches", + document: ``, + xPath: "/a", + subdoc: ``, + want: ``, + }, + { + name: "add single element at multiple levels", + document: ``, + xPath: "//a", + subdoc: ``, + want: ``, + }, + { + name: "add multiple elements at root", + document: ``, + xPath: "/", + subdoc: ``, + want: ``, + }, + { + name: "add multiple elements to other element", + document: ``, + xPath: "/a", + subdoc: ``, + want: ``, + }, + { + name: "add multiple elements to multiple elements", + document: ``, + xPath: "/a", + subdoc: ``, + want: ``, + }, + { + name: "add multiple elements at multiple levels", + document: ``, + xPath: "//a", + subdoc: ``, + want: ``, + }, + { + name: "add rich doc", + document: ``, + xPath: "/a", + subdoc: `text1`, + want: `text1`, + }, + { + name: "add root element to empty document", + document: ``, + xPath: "/", + subdoc: ``, + want: ``, + }, + { + name: "add root element to non-empty document", + document: ``, + xPath: "/", + subdoc: ``, + want: ``, + }, + { + name: "err on attribute", + document: ``, + xPath: "/a/@foo", + subdoc: "", + want: ``, + expectErr: `InsertXML XPath selected non-element: "foo"`, + }, + { + name: "err on text content", + document: `foo`, + xPath: "/a/text()", + subdoc: "", + want: `foo`, + expectErr: `InsertXML XPath selected non-element: "foo"`, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f := NewInsertXMLFactory[any]() + exprFunc, err := f.CreateFunction( + ottl.FunctionContext{}, + &InsertXMLArguments[any]{ + Target: ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return tt.document, nil + }, + }, + XPath: tt.xPath, + SubDocument: ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return tt.subdoc, nil + }, + }, + }) + assert.NoError(t, err) + + result, err := exprFunc(context.Background(), nil) + if tt.expectErr == "" { + assert.NoError(t, err) + } else { + assert.EqualError(t, err, tt.expectErr) + } + assert.Equal(t, tt.want, result) + }) + } +} + +func TestCreateInsertXMLFunc(t *testing.T) { + factory := NewInsertXMLFactory[any]() + fCtx := ottl.FunctionContext{} + + // Invalid arg type + exprFunc, err := factory.CreateFunction(fCtx, nil) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XPath should error on function creation + exprFunc, err = factory.CreateFunction( + fCtx, &InsertXMLArguments[any]{ + XPath: "!", + }) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XML target should error on function execution + exprFunc, err = factory.CreateFunction( + fCtx, &InsertXMLArguments[any]{ + Target: invalidXMLGetter(), + XPath: "/", + }) + assert.NoError(t, err) + assert.NotNil(t, exprFunc) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) + + // Invalid XML subdoc should error on function execution + exprFunc, err = factory.CreateFunction( + fCtx, &InsertXMLArguments[any]{ + Target: ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "", nil + }, + }, + XPath: "/", + SubDocument: invalidXMLGetter(), + }) + assert.NoError(t, err) + assert.NotNil(t, exprFunc) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} diff --git a/pkg/ottl/ottlfuncs/func_parse_json.go b/pkg/ottl/ottlfuncs/func_parse_json.go index 637390177e87..011437424c1c 100644 --- a/pkg/ottl/ottlfuncs/func_parse_json.go +++ b/pkg/ottl/ottlfuncs/func_parse_json.go @@ -7,7 +7,7 @@ import ( "context" "fmt" - jsoniter "github.com/json-iterator/go" + "github.com/goccy/go-json" "go.opentelemetry.io/collector/pdata/pcommon" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" @@ -47,7 +47,7 @@ func parseJSON[K any](target ottl.StringGetter[K]) ottl.ExprFunc[K] { return nil, err } var parsedValue any - err = jsoniter.UnmarshalFromString(targetVal, &parsedValue) + err = json.Unmarshal([]byte(targetVal), &parsedValue) if err != nil { return nil, err } diff --git a/pkg/ottl/ottlfuncs/func_parse_json_test.go b/pkg/ottl/ottlfuncs/func_parse_json_test.go index 835f95d0bba5..b409fd646874 100644 --- a/pkg/ottl/ottlfuncs/func_parse_json_test.go +++ b/pkg/ottl/ottlfuncs/func_parse_json_test.go @@ -201,3 +201,63 @@ func Test_ParseJSON_Error(t *testing.T) { _, err := exprFunc(context.Background(), nil) assert.Error(t, err) } + +const benchData = `{ + "_id": "667cb0db02f4dfc7648b0f6b", + "index": 0, + "guid": "2e419732-8214-4e36-a158-d3ced0217ab6", + "isActive": true, + "balance": "$1,105.05", + "picture": "http://example.com/1", + "age": 22, + "eyeColor": "blue", + "name": "Vincent Knox", + "gender": "male", + "company": "ANIVET", + "email": "vincentknox@anivet.com", + "phone": "+1 (914) 599-2454", + "address": "483 Gerritsen Avenue, Succasunna, Massachusetts, 7803", + "about": "Elit aliqua qui amet duis esse eiusmod cillum proident quis amet elit tempor dolor exercitation. Eu ut tempor exercitation excepteur est. Lorem ad elit sit reprehenderit quis ad sunt laborum amet veniam commodo sit sunt aliqua. Sint incididunt eu ut est magna amet mollit qui deserunt nostrud labore ad. Nostrud officia proident occaecat et irure ut quis culpa mollit veniam. Laboris labore ea reprehenderit veniam mollit enim et proident ipsum id. In qui sit officia laborum.\r\nIn ad consectetur duis ad nisi proident. Non in officia do mollit amet sint voluptate minim nostrud voluptate elit. Veniam Lorem cillum fugiat adipisicing qui ea commodo irure tempor ipsum pariatur sit voluptate. Eiusmod cillum occaecat excepteur cillum aliquip laboris velit aute proident amet.\r\nIpsum sunt eiusmod do ut voluptate sit anim. Consequat nisi nisi consequat amet excepteur ea ad incididunt pariatur veniam exercitation eu ex in. Incididunt sint tempor pariatur Lorem do. Occaecat laborum ad ad id enim dolor deserunt ipsum amet Lorem Lorem. Cillum veniam labore eu do duis.\r\nCillum dolor eiusmod sit amet commodo voluptate pariatur ex irure eu culpa sunt. Incididunt non exercitation est pariatur est. Incididunt mollit Lorem velit ullamco excepteur esse quis id magna et ullamco labore. Laboris consequat tempor est ea amet enim et nisi amet officia dolore magna veniam. Nostrud officia consectetur ea culpa laborum et ut Lorem laboris.\r\nDeserunt labore ullamco dolor exercitation laboris consectetur nulla cupidatat duis. Occaecat quis velit deserunt culpa nostrud eiusmod elit fugiat nulla duis deserunt Lorem do. Proident anim proident aute amet pariatur et do irure. Ad magna qui elit consequat sit exercitation sit. Magna adipisicing id esse aliqua officia magna. Et veniam aliqua minim reprehenderit in culpa. Adipisicing quis eu do Lorem cupidatat consequat ad aute quis.\r\nIn aliquip ea laborum esse dolor reprehenderit qui sit culpa occaecat. Consectetur Lorem dolore adipisicing amet incididunt. Dolor veniam Lorem nulla ex. Eiusmod amet tempor sit eiusmod do reprehenderit proident sit commodo elit cupidatat.\r\nNulla nulla consequat cillum mollit tempor eiusmod irure deserunt amet et voluptate. Fugiat et veniam culpa eiusmod minim ex pariatur. Eiusmod adipisicing pariatur pariatur adipisicing in consequat cillum ut qui veniam amet incididunt ullamco anim.\r\nDolor nulla laborum tempor adipisicing qui id. Exercitation labore aliqua ut laborum velit cupidatat officia. Est qui dolor sint laboris aliqua ea nulla culpa.\r\nAute reprehenderit nulla elit nisi reprehenderit pariatur officia veniam dolore ea occaecat nostrud sunt fugiat. Cillum consequat labore nostrud veniam nisi ea proident est officia incididunt adipisicing qui sint nisi. Ad enim reprehenderit minim labore minim irure dolor. Voluptate commodo dolor excepteur est tempor dolor sunt esse fugiat ea eu et.\r\nIpsum sit velit deserunt aliqua eu labore ad esse eu. Duis eiusmod non exercitation consequat nulla. Enim elit consectetur pariatur sunt labore sunt dolore non do. Sint consequat aliqua tempor consectetur veniam minim. Veniam eu aute occaecat consectetur dolore ullamco dolore officia.\r\n", + "registered": "2023-06-08T12:29:06 +07:00", + "latitude": -59.802339, + "longitude": -160.473187, + "tags": [ + "pariatur", + "anim", + "id", + "duis", + "fugiat", + "qui", + "veniam" + ], + "friends": [ + { + "id": 0, + "name": "Hester Bruce" + }, + { + "id": 1, + "name": "Laurel Mcknight" + }, + { + "id": 2, + "name": "Wynn Moses" + } + ], + "greeting": "Hello, Vincent Knox! You have 1 unread messages.", + "favoriteFruit": "apple" +}` + +func BenchmarkParseJSON(b *testing.B) { + ctx := context.Background() + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + _, err := parseJSON(ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return benchData, nil + }, + })(ctx, nil) + require.NoError(b, err) + } +} diff --git a/pkg/ottl/ottlfuncs/func_parse_simplified_xml.go b/pkg/ottl/ottlfuncs/func_parse_simplified_xml.go new file mode 100644 index 000000000000..7e4f1e2753fa --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_parse_simplified_xml.go @@ -0,0 +1,134 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "fmt" + + "github.com/antchfx/xmlquery" + "go.opentelemetry.io/collector/pdata/pcommon" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +type ParseSimplifiedXMLArguments[K any] struct { + Target ottl.StringGetter[K] +} + +func NewParseSimplifiedXMLFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory("ParseSimplifiedXML", &ParseSimplifiedXMLArguments[K]{}, createParseSimplifiedXMLFunction[K]) +} + +func createParseSimplifiedXMLFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*ParseSimplifiedXMLArguments[K]) + + if !ok { + return nil, fmt.Errorf("ParseSimplifiedXML args must be of type *ParseSimplifiedXMLAguments[K]") + } + + return parseSimplifiedXML(args.Target), nil +} + +// The `ParseSimplifiedXML` Converter returns a `pcommon.Map` struct that is the result of parsing the target +// string without preservation of attributes or extraneous text content. +func parseSimplifiedXML[K any](target ottl.StringGetter[K]) ottl.ExprFunc[K] { + return func(ctx context.Context, tCtx K) (any, error) { + var doc *xmlquery.Node + if targetVal, err := target.Get(ctx, tCtx); err != nil { + return nil, err + } else if doc, err = parseNodesXML(targetVal); err != nil { + return nil, err + } + + docMap := pcommon.NewMap() + parseElement(doc, &docMap) + return docMap, nil + } +} + +func parseElement(parent *xmlquery.Node, parentMap *pcommon.Map) { + // Count the number of each element tag so we know whether it will be a member of a slice or not + childTags := make(map[string]int) + for child := parent.FirstChild; child != nil; child = child.NextSibling { + if child.Type != xmlquery.ElementNode { + continue + } + childTags[child.Data]++ + } + if len(childTags) == 0 { + return + } + + // Convert the children, now knowing whether they will be a member of a slice or not + for child := parent.FirstChild; child != nil; child = child.NextSibling { + if child.Type != xmlquery.ElementNode || child.FirstChild == nil { + continue + } + + leafValue := leafValueFromElement(child) + + // Slice of the same element + if childTags[child.Data] > 1 { + // Get or create the slice of children + var childrenSlice pcommon.Slice + childrenValue, ok := parentMap.Get(child.Data) + if ok { + childrenSlice = childrenValue.Slice() + } else { + childrenSlice = parentMap.PutEmptySlice(child.Data) + } + + // Add the child's text content to the slice + if leafValue != "" { + childrenSlice.AppendEmpty().SetStr(leafValue) + continue + } + + // Parse the child to make sure there's something to add + childMap := pcommon.NewMap() + parseElement(child, &childMap) + if childMap.Len() == 0 { + continue + } + + sliceValue := childrenSlice.AppendEmpty() + sliceMap := sliceValue.SetEmptyMap() + childMap.CopyTo(sliceMap) + continue + } + + if leafValue != "" { + parentMap.PutStr(child.Data, leafValue) + continue + } + + // Child will be a map + childMap := pcommon.NewMap() + parseElement(child, &childMap) + if childMap.Len() == 0 { + continue + } + + childMap.CopyTo(parentMap.PutEmptyMap(child.Data)) + } +} + +func leafValueFromElement(node *xmlquery.Node) string { + // First check if there are any child elements. If there are, ignore any extraneous text. + for child := node.FirstChild; child != nil; child = child.NextSibling { + if child.Type == xmlquery.ElementNode { + return "" + } + } + + // No child elements, so return the first text or CDATA content + for child := node.FirstChild; child != nil; child = child.NextSibling { + switch child.Type { + case xmlquery.TextNode, xmlquery.CharDataNode: + return child.Data + } + } + return "" +} diff --git a/pkg/ottl/ottlfuncs/func_parse_simplified_xml_test.go b/pkg/ottl/ottlfuncs/func_parse_simplified_xml_test.go new file mode 100644 index 000000000000..20f3abd6f1d2 --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_parse_simplified_xml_test.go @@ -0,0 +1,278 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + "go.opentelemetry.io/collector/pdata/pcommon" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +func Test_ParseSimplifiedXML(t *testing.T) { + tests := []struct { + name string + document string + want pcommon.Map + }{ + { + name: "single leaf", + document: `b`, + want: func() pcommon.Map { + m := pcommon.NewMap() + m.PutStr("a", "b") + return m + }(), + }, + { + name: "double leaf", + document: `bc`, + want: func() pcommon.Map { + m := pcommon.NewMap() + b := m.PutEmptySlice("a") + b.AppendEmpty().SetStr("b") + b.AppendEmpty().SetStr("c") + return m + }(), + }, + { + name: "nested maps", + document: `1`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("b", "1") + return m + }(), + }, + { + name: "mixed slice", + document: `13`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptySlice("a") + a.AppendEmpty().SetStr("1") + a.AppendEmpty().SetStr("2") + b := a.AppendEmpty().SetEmptyMap() + b.PutStr("b", "3") + return m + }(), + }, + { + name: "char data leaf", + document: ``, + want: func() pcommon.Map { + m := pcommon.NewMap() + m.PutStr("a", "b") + return m + }(), + }, + { + name: "ignore attributes", + document: `c`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("b", "c") + return m + }(), + }, + { + name: "ignore declaration", + document: `b`, + want: func() pcommon.Map { + m := pcommon.NewMap() + m.PutStr("a", "b") + return m + }(), + }, + { + name: "ignore comments", + document: `b`, + want: func() pcommon.Map { + m := pcommon.NewMap() + m.PutStr("a", "b") + return m + }(), + }, + { + name: "ignore empty other than comment", + document: `2`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("b", "2") + return m + }(), + }, + { + name: "empty other than comment forces slice", + document: `24`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("b", "2") + c := a.PutEmptySlice("c") + c.AppendEmpty().SetStr("4") + return m + }(), + }, + { + name: "ignore extraneous text", + document: `extra13extra2`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("b", "3") + return m + }(), + }, + { + name: "ignore extraneous CDATA", + document: `3`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("b", "3") + return m + }(), + }, + { + name: "ignore single empty element", + document: `3`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("b", "3") + return m + }(), + }, + { + name: "empty element cascade", + document: `2`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + a.PutStr("d", "2") + return m + }(), + }, + { + name: "empty element forces slice", + document: `3`, + want: func() pcommon.Map { + m := pcommon.NewMap() + a := m.PutEmptyMap("a") + b := a.PutEmptySlice("b") + b.AppendEmpty().SetStr("3") + return m + }(), + }, + { + // ParseSimplifiedXML(ConvertAttributesToElementsXML(ConvertTextToElementsXML("..."))) + name: "Simplified WEL", + document: ` + http://schemas.microsoft.com/win/2004/08/events/event + + Microsoft-Windows-Security-Auditing{54849625-5478-4994-a5ba-3e3b0328c30d} + 4625 + 0 + 0 + 12544 + 0 + 0x8010000000000000 + 2024-09-04T08:38:09.7477579Z + 1361885 + {b67ee0c2-a671-0001-5f6b-82e8c1eeda01} + 6562276 + Security + samuel-vahala + + + + SubjectUserSidS-1-0-0 + TargetUserSidS-1-0-0 + Status0xc000006d + WorkstationNameD-508 + +`, + want: func() pcommon.Map { + result := pcommon.NewMap() + event := result.PutEmptyMap("Event") + event.PutStr("xmlns", "http://schemas.microsoft.com/win/2004/08/events/event") + system := event.PutEmptyMap("System") + provider := system.PutEmptyMap("Provider") + provider.PutStr("Name", "Microsoft-Windows-Security-Auditing") + provider.PutStr("Guid", "{54849625-5478-4994-a5ba-3e3b0328c30d}") + system.PutStr("EventID", "4625") + system.PutStr("Version", "0") + system.PutStr("Level", "0") + system.PutStr("Task", "12544") + system.PutStr("Opcode", "0") + system.PutStr("Keywords", "0x8010000000000000") + timeCreated := system.PutEmptyMap("TimeCreated") + timeCreated.PutStr("SystemTime", "2024-09-04T08:38:09.7477579Z") + system.PutStr("EventRecordID", "1361885") + correlation := system.PutEmptyMap("Correlation") + correlation.PutStr("ActivityID", "{b67ee0c2-a671-0001-5f6b-82e8c1eeda01}") + execution := system.PutEmptyMap("Execution") + execution.PutStr("ProcessID", "656") + execution.PutStr("ThreadID", "2276") + system.PutStr("Channel", "Security") + system.PutStr("Computer", "samuel-vahala") + eventData := event.PutEmptyMap("EventData") + data := eventData.PutEmptySlice("Data") + data1 := data.AppendEmpty().SetEmptyMap() + data1.PutStr("Name", "SubjectUserSid") + data1.PutStr("value", "S-1-0-0") + data2 := data.AppendEmpty().SetEmptyMap() + data2.PutStr("Name", "TargetUserSid") + data2.PutStr("value", "S-1-0-0") + data3 := data.AppendEmpty().SetEmptyMap() + data3.PutStr("Name", "Status") + data3.PutStr("value", "0xc000006d") + data4 := data.AppendEmpty().SetEmptyMap() + data4.PutStr("Name", "WorkstationName") + data4.PutStr("value", "D-508") + return result + }(), + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + target := ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return tt.document, nil + }, + } + exprFunc := parseSimplifiedXML(target) + result, err := exprFunc(context.Background(), nil) + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + }) + } +} + +func TestCreateParseSimplifiedXMLFunc(t *testing.T) { + factory := NewParseSimplifiedXMLFactory[any]() + fCtx := ottl.FunctionContext{} + + // Invalid arg type + exprFunc, err := factory.CreateFunction(fCtx, nil) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XML should error on function execution + exprFunc, err = factory.CreateFunction( + fCtx, &ParseSimplifiedXMLArguments[any]{ + Target: invalidXMLGetter(), + }) + assert.NoError(t, err) + assert.NotNil(t, exprFunc) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} diff --git a/pkg/ottl/ottlfuncs/func_remove_xml.go b/pkg/ottl/ottlfuncs/func_remove_xml.go new file mode 100644 index 000000000000..b45ee74fcd1f --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_remove_xml.go @@ -0,0 +1,95 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "fmt" + "strings" + + "github.com/antchfx/xmlquery" + "github.com/antchfx/xpath" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +type RemoveXMLArguments[K any] struct { + Target ottl.StringGetter[K] + XPath string +} + +func NewRemoveXMLFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory("RemoveXML", &RemoveXMLArguments[K]{}, createRemoveXMLFunction[K]) +} + +func createRemoveXMLFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*RemoveXMLArguments[K]) + + if !ok { + return nil, fmt.Errorf("RemoveXML args must be of type *RemoveXMLAguments[K]") + } + + if err := validateXPath(args.XPath); err != nil { + return nil, err + } + + return removeXML(args.Target, args.XPath), nil +} + +// removeXML returns a XML formatted string that is a result of removing all matching nodes from the target XML. +// This currently supports removal of elements, attributes, text values, comments, and CharData. +func removeXML[K any](target ottl.StringGetter[K], xPath string) ottl.ExprFunc[K] { + return func(ctx context.Context, tCtx K) (any, error) { + var doc *xmlquery.Node + if targetVal, err := target.Get(ctx, tCtx); err != nil { + return nil, err + } else if doc, err = parseNodesXML(targetVal); err != nil { + return nil, err + } + + nodes, err := xmlquery.QueryAll(doc, xPath) + if err != nil { + return nil, err + } + + for _, n := range nodes { + switch n.Type { + case xmlquery.ElementNode: + xmlquery.RemoveFromTree(n) + case xmlquery.AttributeNode: + n.Parent.RemoveAttr(n.Data) + case xmlquery.TextNode: + n.Data = "" + case xmlquery.CommentNode: + xmlquery.RemoveFromTree(n) + case xmlquery.CharDataNode: + xmlquery.RemoveFromTree(n) + } + } + return doc.OutputXML(false), nil + } +} + +func validateXPath(xPath string) error { + _, err := xpath.Compile(xPath) + if err != nil { + return fmt.Errorf("invalid xpath: %w", err) + } + return nil +} + +// Aside from parsing the XML document, this function also ensures that +// the XML declaration is included in the result only if it was present in +// the original document. +func parseNodesXML(targetVal string) (*xmlquery.Node, error) { + preserveDeclearation := strings.HasPrefix(targetVal, "`, + xPath: "/a/b", + want: ``, + }, + { + name: "remove multiple element", + document: ``, + xPath: "/a/b", + want: ``, + }, + { + name: "remove multiple element with children", + document: ``, + xPath: "/a/b", + want: ``, + }, + { + name: "remove multiple element various depths", + document: ``, + xPath: "/a//b", + want: ``, + }, + { + name: "remove attribute", + document: ``, + xPath: "/a/@foo", + want: ``, + }, + { + name: "remove element with attribute", + document: ``, + xPath: "/a/b[@foo='bar']", + want: ``, + }, + { + name: "remove attributes from multiple nodes", + document: ``, + xPath: "//@foo", + want: ``, + }, + { + name: "remove multiple attributes from single node", + document: ``, + xPath: "//@*[local-name() != 'keep']", + want: ``, + }, + { + name: "remove text", + document: `delete this`, + xPath: "//text()['*delete*']", + want: ``, + }, + { + name: "remove comments", + document: ``, + xPath: "//comment()", + want: ``, + }, + { + name: "remove CDATA", + document: ``, + xPath: "//text()['`, + }, + { + name: "preserve declaration", + document: `delete this`, + xPath: "//text()['*delete*']", + want: ``, + }, + { + name: "ignore empty", + document: ``, + xPath: "/", + want: ``, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + factory := NewRemoveXMLFactory[any]() + exprFunc, err := factory.CreateFunction( + ottl.FunctionContext{}, + &RemoveXMLArguments[any]{ + Target: ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return tt.document, nil + }, + }, + XPath: tt.xPath, + }) + assert.NoError(t, err) + + result, err := exprFunc(context.Background(), nil) + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + }) + } +} + +func TestCreateRemoveXMLFunc(t *testing.T) { + factory := NewRemoveXMLFactory[any]() + fCtx := ottl.FunctionContext{} + + // Invalid arg type + exprFunc, err := factory.CreateFunction(fCtx, nil) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XPath should error on function creation + exprFunc, err = factory.CreateFunction( + fCtx, &RemoveXMLArguments[any]{ + XPath: "!", + }) + assert.Error(t, err) + assert.Nil(t, exprFunc) + + // Invalid XML should error on function execution + exprFunc, err = factory.CreateFunction( + fCtx, &RemoveXMLArguments[any]{ + Target: invalidXMLGetter(), + XPath: "/", + }) + assert.NoError(t, err) + assert.NotNil(t, exprFunc) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} + +func invalidXMLGetter() ottl.StandardStringGetter[any] { + return ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return `>>>>>>`, nil + }, + } +} diff --git a/pkg/ottl/ottlfuncs/func_replace_all_patterns.go b/pkg/ottl/ottlfuncs/func_replace_all_patterns.go index 0f3aae69e8c2..402c8fec6fa2 100644 --- a/pkg/ottl/ottlfuncs/func_replace_all_patterns.go +++ b/pkg/ottl/ottlfuncs/func_replace_all_patterns.go @@ -97,7 +97,7 @@ func replaceAllPatterns[K any](target ottl.PMapGetter[K], mode string, regexPatt } return true }) - updated.CopyTo(val) + updated.MoveTo(val) return nil, nil }, nil } diff --git a/pkg/ottl/ottlfuncs/func_replace_all_patterns_test.go b/pkg/ottl/ottlfuncs/func_replace_all_patterns_test.go index 534bd80f2c07..2d2be602ca00 100644 --- a/pkg/ottl/ottlfuncs/func_replace_all_patterns_test.go +++ b/pkg/ottl/ottlfuncs/func_replace_all_patterns_test.go @@ -627,5 +627,5 @@ func Test_replaceAllPatterns_invalid_model(t *testing.T) { invalidMode := "invalid" exprFunc, err := replaceAllPatterns[any](target, invalidMode, "regex", replacement, function, replacementFormat) assert.Nil(t, exprFunc) - assert.Contains(t, err.Error(), "invalid mode") + assert.ErrorContains(t, err, "invalid mode") } diff --git a/pkg/ottl/ottlfuncs/func_time.go b/pkg/ottl/ottlfuncs/func_time.go index b6d793cc3e5d..af5e37326a4f 100644 --- a/pkg/ottl/ottlfuncs/func_time.go +++ b/pkg/ottl/ottlfuncs/func_time.go @@ -6,6 +6,7 @@ package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-c import ( "context" "fmt" + "time" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal/timeutils" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" @@ -15,6 +16,7 @@ type TimeArguments[K any] struct { Time ottl.StringGetter[K] Format string Location ottl.Optional[string] + Locale ottl.Optional[string] } func NewTimeFactory[K any]() ottl.Factory[K] { @@ -27,13 +29,18 @@ func createTimeFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ot return nil, fmt.Errorf("TimeFactory args must be of type *TimeArguments[K]") } - return Time(args.Time, args.Format, args.Location) + return Time(args.Time, args.Format, args.Location, args.Locale) } -func Time[K any](inputTime ottl.StringGetter[K], format string, location ottl.Optional[string]) (ottl.ExprFunc[K], error) { +func Time[K any](inputTime ottl.StringGetter[K], format string, location ottl.Optional[string], locale ottl.Optional[string]) (ottl.ExprFunc[K], error) { if format == "" { return nil, fmt.Errorf("format cannot be nil") } + gotimeFormat, err := timeutils.StrptimeToGotime(format) + if err != nil { + return nil, err + } + var defaultLocation *string if !location.IsEmpty() { l := location.Get() @@ -45,6 +52,15 @@ func Time[K any](inputTime ottl.StringGetter[K], format string, location ottl.Op return nil, err } + var inputTimeLocale *string + if !locale.IsEmpty() { + l := locale.Get() + if err = timeutils.ValidateLocale(l); err != nil { + return nil, err + } + inputTimeLocale = &l + } + return func(ctx context.Context, tCtx K) (any, error) { t, err := inputTime.Get(ctx, tCtx) if err != nil { @@ -53,7 +69,12 @@ func Time[K any](inputTime ottl.StringGetter[K], format string, location ottl.Op if t == "" { return nil, fmt.Errorf("time cannot be nil") } - timestamp, err := timeutils.ParseStrptime(format, t, loc) + var timestamp time.Time + if inputTimeLocale != nil { + timestamp, err = timeutils.ParseLocalizedGotime(gotimeFormat, t, loc, *inputTimeLocale) + } else { + timestamp, err = timeutils.ParseGotime(gotimeFormat, t, loc) + } if err != nil { return nil, err } diff --git a/pkg/ottl/ottlfuncs/func_time_test.go b/pkg/ottl/ottlfuncs/func_time_test.go index 41e62edaae04..c98b094f39c7 100644 --- a/pkg/ottl/ottlfuncs/func_time_test.go +++ b/pkg/ottl/ottlfuncs/func_time_test.go @@ -24,6 +24,7 @@ func Test_Time(t *testing.T) { format string expected time.Time location string + locale string }{ { name: "simple short form", @@ -188,14 +189,52 @@ func Test_Time(t *testing.T) { format: "%Y-%m-%dT%H:%M:%S %Z", expected: time.Date(1986, 10, 01, 00, 17, 33, 00, time.FixedZone("MST", -7*60*60)), }, + { + name: "with locale", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "Febrero 25 lunes, 2002, 02:03:04 p.m.", nil + }, + }, + format: "%B %d %A, %Y, %r", + locale: "es-ES", + expected: time.Date(2002, 2, 25, 14, 03, 04, 0, time.Local), + }, + { + name: "with locale - date only", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "mercoledì set 4 2024", nil + }, + }, + format: "%A %h %e %Y", + locale: "it", + expected: time.Date(2024, 9, 4, 0, 0, 0, 0, time.Local), + }, + { + name: "with locale and location", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "Febrero 25 lunes, 2002, 02:03:04 p.m.", nil + }, + }, + format: "%B %d %A, %Y, %r", + location: "America/New_York", + locale: "es-ES", + expected: time.Date(2002, 2, 25, 14, 03, 04, 0, locationAmericaNewYork), + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - var locOptional ottl.Optional[string] + var locationOptional ottl.Optional[string] if tt.location != "" { - locOptional = ottl.NewTestingOptional(tt.location) + locationOptional = ottl.NewTestingOptional(tt.location) + } + var localeOptional ottl.Optional[string] + if tt.locale != "" { + localeOptional = ottl.NewTestingOptional(tt.locale) } - exprFunc, err := Time(tt.time, tt.format, locOptional) + exprFunc, err := Time(tt.time, tt.format, locationOptional, localeOptional) assert.NoError(t, err) result, err := exprFunc(nil, nil) assert.NoError(t, err) @@ -234,8 +273,9 @@ func Test_TimeError(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - var locOptional ottl.Optional[string] - exprFunc, err := Time[any](tt.time, tt.format, locOptional) + var locationOptional ottl.Optional[string] + var localeOptional ottl.Optional[string] + exprFunc, err := Time[any](tt.time, tt.format, locationOptional, localeOptional) require.NoError(t, err) _, err = exprFunc(context.Background(), nil) assert.ErrorContains(t, err, tt.expectedError) @@ -250,6 +290,7 @@ func Test_TimeFormatError(t *testing.T) { format string expectedError string location string + locale string }{ { name: "invalid short with no format", @@ -272,15 +313,221 @@ func Test_TimeFormatError(t *testing.T) { location: "Jupiter/Ganymede", expectedError: "unknown time zone Jupiter/Ganymede", }, + { + name: "with unsupported locale", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2023-05-26 12:34:56", nil + }, + }, + format: "%Y-%m-%d %H:%M:%S", + locale: "foo-bar", + expectedError: "unsupported locale 'foo-bar'", + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - var locOptional ottl.Optional[string] + var locationOptional ottl.Optional[string] if tt.location != "" { - locOptional = ottl.NewTestingOptional(tt.location) + locationOptional = ottl.NewTestingOptional(tt.location) + } + var localeOptional ottl.Optional[string] + if tt.locale != "" { + localeOptional = ottl.NewTestingOptional(tt.locale) } - _, err := Time[any](tt.time, tt.format, locOptional) + _, err := Time[any](tt.time, tt.format, locationOptional, localeOptional) assert.ErrorContains(t, err, tt.expectedError) }) } } + +func Benchmark_Time(t *testing.B) { + locationAmericaNewYork, _ := time.LoadLocation("America/New_York") + locationAsiaShanghai, _ := time.LoadLocation("Asia/Shanghai") + + tests := []struct { + name string + time ottl.StringGetter[any] + format string + expected time.Time + location string + }{ + { + name: "simple short form", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2023-04-12", nil + }, + }, + format: "%Y-%m-%d", + expected: time.Date(2023, 4, 12, 0, 0, 0, 0, time.Local), + }, + { + name: "simple short form with short year and slashes", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "11/11/11", nil + }, + }, + format: "%d/%m/%y", + expected: time.Date(2011, 11, 11, 0, 0, 0, 0, time.Local), + }, + { + name: "month day year", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "02/04/2023", nil + }, + }, + format: "%m/%d/%Y", + expected: time.Date(2023, 2, 4, 0, 0, 0, 0, time.Local), + }, + { + name: "simple long form", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "July 31, 1993", nil + }, + }, + format: "%B %d, %Y", + expected: time.Date(1993, 7, 31, 0, 0, 0, 0, time.Local), + }, + { + name: "date with timestamp", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "Mar 14 2023 17:02:59", nil + }, + }, + format: "%b %d %Y %H:%M:%S", + expected: time.Date(2023, 3, 14, 17, 02, 59, 0, time.Local), + }, + { + name: "day of the week long form", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "Monday, May 01, 2023", nil + }, + }, + format: "%A, %B %d, %Y", + expected: time.Date(2023, 5, 1, 0, 0, 0, 0, time.Local), + }, + { + name: "short weekday, short month, long format", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "Sat, May 20, 2023", nil + }, + }, + format: "%a, %b %d, %Y", + expected: time.Date(2023, 5, 20, 0, 0, 0, 0, time.Local), + }, + { + name: "short months", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "Feb 15, 2023", nil + }, + }, + format: "%b %d, %Y", + expected: time.Date(2023, 2, 15, 0, 0, 0, 0, time.Local), + }, + { + name: "timestamp with time zone offset", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2023-05-26 12:34:56 HST", nil + }, + }, + format: "%Y-%m-%d %H:%M:%S %Z", + expected: time.Date(2023, 5, 26, 12, 34, 56, 0, time.FixedZone("HST", -10*60*60)), + }, + { + name: "short date with timestamp without time zone offset", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2023-05-26T12:34:56 GMT", nil + }, + }, + format: "%Y-%m-%dT%H:%M:%S %Z", + expected: time.Date(2023, 5, 26, 12, 34, 56, 0, time.FixedZone("GMT", 0)), + }, + { + name: "RFC 3339 in custom format", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2012-11-01T22:08:41+0000 EST", nil + }, + }, + format: "%Y-%m-%dT%H:%M:%S%z %Z", + expected: time.Date(2012, 11, 01, 22, 8, 41, 0, time.FixedZone("EST", 0)), + }, + { + name: "RFC 3339 in custom format before 2000", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "1986-10-01T00:17:33 MST", nil + }, + }, + format: "%Y-%m-%dT%H:%M:%S %Z", + expected: time.Date(1986, 10, 01, 00, 17, 33, 00, time.FixedZone("MST", -7*60*60)), + }, + { + name: "no location", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2022/01/01", nil + }, + }, + format: "%Y/%m/%d", + expected: time.Date(2022, 01, 01, 0, 0, 0, 0, time.Local), + }, + { + name: "with location - America", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2023-05-26 12:34:56", nil + }, + }, + format: "%Y-%m-%d %H:%M:%S", + location: "America/New_York", + expected: time.Date(2023, 5, 26, 12, 34, 56, 0, locationAmericaNewYork), + }, + { + name: "with location - Asia", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "2023-05-26 12:34:56", nil + }, + }, + format: "%Y-%m-%d %H:%M:%S", + location: "Asia/Shanghai", + expected: time.Date(2023, 5, 26, 12, 34, 56, 0, locationAsiaShanghai), + }, + { + name: "RFC 3339 in custom format before 2000, ignore default location", + time: &ottl.StandardStringGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "1986-10-01T00:17:33 MST", nil + }, + }, + location: "Asia/Shanghai", + format: "%Y-%m-%dT%H:%M:%S %Z", + expected: time.Date(1986, 10, 01, 00, 17, 33, 00, time.FixedZone("MST", -7*60*60)), + }, + } + for _, tt := range tests { + var locOptional ottl.Optional[string] + if tt.location != "" { + locOptional = ottl.NewTestingOptional(tt.location) + } + exprFunc, err := Time(tt.time, tt.format, locOptional, ottl.Optional[string]{}) + assert.NoError(t, err) + + t.Run(tt.name, func(t *testing.B) { + result, err := exprFunc(nil, nil) + assert.NoError(t, err) + assert.Equal(t, tt.expected.UnixNano(), result.(time.Time).UnixNano()) + }) + } +} diff --git a/pkg/ottl/ottlfuncs/func_to_key_value_string.go b/pkg/ottl/ottlfuncs/func_to_key_value_string.go new file mode 100644 index 000000000000..ece12a88e1bc --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_to_key_value_string.go @@ -0,0 +1,122 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottlfuncs" + +import ( + "context" + "fmt" + gosort "sort" + "strings" + + "go.opentelemetry.io/collector/pdata/pcommon" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +type ToKeyValueStringArguments[K any] struct { + Target ottl.PMapGetter[K] + Delimiter ottl.Optional[string] + PairDelimiter ottl.Optional[string] + SortOutput ottl.Optional[bool] +} + +func NewToKeyValueStringFactory[K any]() ottl.Factory[K] { + return ottl.NewFactory("ToKeyValueString", &ToKeyValueStringArguments[K]{}, createToKeyValueStringFunction[K]) +} + +func createToKeyValueStringFunction[K any](_ ottl.FunctionContext, oArgs ottl.Arguments) (ottl.ExprFunc[K], error) { + args, ok := oArgs.(*ToKeyValueStringArguments[K]) + + if !ok { + return nil, fmt.Errorf("ToKeyValueStringFactory args must be of type *ToKeyValueStringArguments[K]") + } + + return toKeyValueString[K](args.Target, args.Delimiter, args.PairDelimiter, args.SortOutput) +} + +func toKeyValueString[K any](target ottl.PMapGetter[K], d ottl.Optional[string], p ottl.Optional[string], s ottl.Optional[bool]) (ottl.ExprFunc[K], error) { + delimiter := "=" + if !d.IsEmpty() { + if d.Get() == "" { + return nil, fmt.Errorf("delimiter cannot be set to an empty string") + } + delimiter = d.Get() + } + + pairDelimiter := " " + if !p.IsEmpty() { + if p.Get() == "" { + return nil, fmt.Errorf("pair delimiter cannot be set to an empty string") + } + pairDelimiter = p.Get() + } + + if pairDelimiter == delimiter { + return nil, fmt.Errorf("pair delimiter %q cannot be equal to delimiter %q", pairDelimiter, delimiter) + } + + sortOutput := false + if !s.IsEmpty() { + sortOutput = s.Get() + } + + return func(ctx context.Context, tCtx K) (any, error) { + source, err := target.Get(ctx, tCtx) + if err != nil { + return nil, err + } + + return convertMapToKV(source, delimiter, pairDelimiter, sortOutput), nil + }, nil +} + +// convertMapToKV converts a pcommon.Map to a key value string +func convertMapToKV(target pcommon.Map, delimiter string, pairDelimiter string, sortOutput bool) string { + + var kvStrings []string + if sortOutput { + var keyValues []struct { + key string + val pcommon.Value + } + + // Sort by keys + target.Range(func(k string, v pcommon.Value) bool { + keyValues = append(keyValues, struct { + key string + val pcommon.Value + }{key: k, val: v}) + return true + }) + gosort.Slice(keyValues, func(i, j int) bool { + return keyValues[i].key < keyValues[j].key + }) + + // Convert KV pairs + for _, kv := range keyValues { + kvStrings = append(kvStrings, buildKVString(kv.key, kv.val, delimiter, pairDelimiter)) + } + } else { + target.Range(func(k string, v pcommon.Value) bool { + kvStrings = append(kvStrings, buildKVString(k, v, delimiter, pairDelimiter)) + return true + }) + } + + return strings.Join(kvStrings, pairDelimiter) +} + +func buildKVString(k string, v pcommon.Value, delimiter string, pairDelimiter string) string { + key := escapeAndQuoteKV(k, delimiter, pairDelimiter) + value := escapeAndQuoteKV(v.AsString(), delimiter, pairDelimiter) + return key + delimiter + value +} + +func escapeAndQuoteKV(s string, delimiter string, pairDelimiter string) string { + s = strings.ReplaceAll(s, `"`, `\"`) + if strings.Contains(s, pairDelimiter) || strings.Contains(s, delimiter) { + s = `"` + s + `"` + } + return s +} diff --git a/pkg/ottl/ottlfuncs/func_to_key_value_string_test.go b/pkg/ottl/ottlfuncs/func_to_key_value_string_test.go new file mode 100644 index 000000000000..981c8c8ceb8d --- /dev/null +++ b/pkg/ottl/ottlfuncs/func_to_key_value_string_test.go @@ -0,0 +1,249 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottlfuncs + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" +) + +func Test_toKeyValueString(t *testing.T) { + tests := []struct { + name string + target ottl.PMapGetter[any] + delimiter ottl.Optional[string] + pairDelimiter ottl.Optional[string] + expected string + }{ + { + name: "default delimiters with no nesting", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1", + "key2": "value2", + }, nil + }, + }, + delimiter: ottl.Optional[string]{}, + pairDelimiter: ottl.Optional[string]{}, + expected: `key1=value1 key2=value2`, + }, + { + name: "custom delimiter with no nesting", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1", + "key2": "value2", + }, nil + }, + }, + delimiter: ottl.NewTestingOptional[string](":"), + pairDelimiter: ottl.Optional[string]{}, + expected: `key1:value1 key2:value2`, + }, + { + name: "custom pair delimiter with no nesting", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1", + "key2": "value2", + }, nil + }, + }, + delimiter: ottl.Optional[string]{}, + pairDelimiter: ottl.NewTestingOptional[string](","), + expected: `key1=value1,key2=value2`, + }, + { + name: "delimiters present in keys and values", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key 1": "value 1", + "key2=": "value2=", + }, nil + }, + }, + delimiter: ottl.Optional[string]{}, + pairDelimiter: ottl.Optional[string]{}, + expected: `"key 1"="value 1" "key2="="value2="`, + }, + { + name: "long delimiters present in keys and values", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1", + "key2,,,": "value2,,,,,,", + }, nil + }, + }, + delimiter: ottl.NewTestingOptional[string](",,,"), + pairDelimiter: ottl.Optional[string]{}, + expected: `key1,,,value1 "key2,,,",,,"value2,,,,,,"`, + }, + { + name: "delimiters and quotes present in keys and values", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key 1": "value 1", + "key2\"=": "value2\"=", + "key\"3": "value\"3", + }, nil + }, + }, + delimiter: ottl.Optional[string]{}, + pairDelimiter: ottl.Optional[string]{}, + expected: `"key 1"="value 1" key\"3=value\"3 "key2\"="="value2\"="`, + }, + { + name: "nested", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1", + "key2": map[string]any{ + "key3": "value3", + "key4": map[string]any{ + "key5": "value5", + "key6": []any{"value6a", "value6b"}, + }, + }, + "key7": []any{"value7", []any{"value8a", map[string]any{"key8b": "value8b"}}}, + }, nil + }, + }, + delimiter: ottl.Optional[string]{}, + pairDelimiter: ottl.Optional[string]{}, + expected: `key1=value1 key2={\"key3\":\"value3\",\"key4\":{\"key5\":\"value5\",\"key6\":[\"value6a\",\"value6b\"]}} key7=[\"value7\",[\"value8a\",{\"key8b\":\"value8b\"}]]`, + }, + { + name: "nested with delimiter present", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1", + "key2": map[string]any{ + "key3": "value3", + "key4": map[string]any{ + "key5": "value=5", + "key6": []any{"value6a", "value6b"}, + }, + }, + "key7": []any{"value7", []any{"value8a", map[string]any{"key 8b": "value8b"}}}, + }, nil + }, + }, + delimiter: ottl.Optional[string]{}, + pairDelimiter: ottl.Optional[string]{}, + expected: `key1=value1 key2="{\"key3\":\"value3\",\"key4\":{\"key5\":\"value=5\",\"key6\":[\"value6a\",\"value6b\"]}}" key7="[\"value7\",[\"value8a\",{\"key 8b\":\"value8b\"}]]"`, + }, + { + name: "nested with delimiter and quotes present", + target: ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1\"", + "key2": map[string]any{ + "key3": "value3", + "key4": map[string]any{ + "key5": "value=5\"", + "key6": []any{"value6a", "value6b"}, + }, + }, + "key7": []any{"value7", []any{"value8a", map[string]any{"key 8b\"": "value8b"}}}, + }, nil + }, + }, + delimiter: ottl.Optional[string]{}, + pairDelimiter: ottl.Optional[string]{}, + expected: `key1=value1\" key2="{\"key3\":\"value3\",\"key4\":{\"key5\":\"value=5\\"\",\"key6\":[\"value6a\",\"value6b\"]}}" key7="[\"value7\",[\"value8a\",{\"key 8b\\"\":\"value8b\"}]]"`, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + exprFunc, err := toKeyValueString[any](tt.target, tt.delimiter, tt.pairDelimiter, ottl.NewTestingOptional[bool](true)) + assert.NoError(t, err) + + result, err := exprFunc(context.Background(), nil) + assert.NoError(t, err) + + actual, ok := result.(string) + assert.True(t, ok) + + assert.Equal(t, tt.expected, actual) + }) + } +} + +func Test_toKeyValueString_equal_delimiters(t *testing.T) { + target := ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return map[string]any{ + "key1": "value1", + "key2": "value2", + }, nil + }, + } + delimiter := ottl.NewTestingOptional[string]("=") + pairDelimiter := ottl.NewTestingOptional[string]("=") + _, err := toKeyValueString[any](target, delimiter, pairDelimiter, ottl.NewTestingOptional[bool](false)) + assert.Error(t, err) + + delimiter = ottl.NewTestingOptional[string](" ") + _, err = toKeyValueString[any](target, delimiter, ottl.Optional[string]{}, ottl.NewTestingOptional[bool](false)) + assert.Error(t, err) +} + +func Test_toKeyValueString_bad_target(t *testing.T) { + target := ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return 1, nil + }, + } + delimiter := ottl.NewTestingOptional[string]("=") + pairDelimiter := ottl.NewTestingOptional[string]("!") + exprFunc, err := toKeyValueString[any](target, delimiter, pairDelimiter, ottl.NewTestingOptional[bool](false)) + assert.NoError(t, err) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} + +func Test_toKeyValueString_empty_target(t *testing.T) { + target := ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "", nil + }, + } + delimiter := ottl.NewTestingOptional[string]("=") + pairDelimiter := ottl.NewTestingOptional[string]("!") + exprFunc, err := toKeyValueString[any](target, delimiter, pairDelimiter, ottl.NewTestingOptional[bool](false)) + assert.NoError(t, err) + _, err = exprFunc(context.Background(), nil) + assert.Error(t, err) +} + +func Test_toKeyValueString_empty_delimiters(t *testing.T) { + target := ottl.StandardPMapGetter[any]{ + Getter: func(_ context.Context, _ any) (any, error) { + return "a=b c=d", nil + }, + } + delimiter := ottl.NewTestingOptional[string]("") + + _, err := toKeyValueString[any](target, delimiter, ottl.Optional[string]{}, ottl.NewTestingOptional[bool](false)) + assert.ErrorContains(t, err, "delimiter cannot be set to an empty string") + + _, err = toKeyValueString[any](target, ottl.Optional[string]{}, delimiter, ottl.NewTestingOptional[bool](false)) + assert.ErrorContains(t, err, "pair delimiter cannot be set to an empty string") +} diff --git a/pkg/ottl/ottlfuncs/functions.go b/pkg/ottl/ottlfuncs/functions.go index fa38402aec3e..9979c1800d3d 100644 --- a/pkg/ottl/ottlfuncs/functions.go +++ b/pkg/ottl/ottlfuncs/functions.go @@ -40,14 +40,18 @@ func converters[K any]() []ottl.Factory[K] { NewDecodeFactory[K](), NewConcatFactory[K](), NewConvertCaseFactory[K](), + NewConvertAttributesToElementsXMLFactory[K](), + NewConvertTextToElementsXMLFactory[K](), NewDayFactory[K](), NewDoubleFactory[K](), NewDurationFactory[K](), NewExtractPatternsFactory[K](), NewExtractGrokPatternsFactory[K](), NewFnvFactory[K](), + NewGetXMLFactory[K](), NewHourFactory[K](), NewHoursFactory[K](), + NewInsertXMLFactory[K](), NewIntFactory[K](), NewIsBoolFactory[K](), NewIsDoubleFactory[K](), @@ -69,7 +73,9 @@ func converters[K any]() []ottl.Factory[K] { NewParseCSVFactory[K](), NewParseJSONFactory[K](), NewParseKeyValueFactory[K](), + NewParseSimplifiedXMLFactory[K](), NewParseXMLFactory[K](), + NewRemoveXMLFactory[K](), NewSecondsFactory[K](), NewSHA1Factory[K](), NewSHA256Factory[K](), @@ -81,6 +87,7 @@ func converters[K any]() []ottl.Factory[K] { NewStringFactory[K](), NewSubstringFactory[K](), NewTimeFactory[K](), + NewToKeyValueStringFactory[K](), NewTruncateTimeFactory[K](), NewTraceIDFactory[K](), NewUnixFactory[K](), diff --git a/pkg/ottl/parser_test.go b/pkg/ottl/parser_test.go index d0a5e4b47add..e8bb93af6f9b 100644 --- a/pkg/ottl/parser_test.go +++ b/pkg/ottl/parser_test.go @@ -12,7 +12,9 @@ import ( "testing" "time" + "github.com/alecthomas/participle/v2/lexer" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottltest" @@ -207,6 +209,11 @@ func Test_parse(t *testing.T) { Value: &value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 38, + Line: 1, + Column: 39, + }, Context: "bear", Fields: []field{ { @@ -267,6 +274,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 24, + Line: 1, + Column: 25, + }, Context: "bear", Fields: []field{ { @@ -298,6 +310,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Context: "foo", Fields: []field{ { @@ -337,6 +354,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Context: "", Fields: []field{ { @@ -373,6 +395,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 16, + Line: 1, + Column: 17, + }, Fields: []field{ { Name: "attributes", @@ -396,6 +423,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 51, + Line: 1, + Column: 52, + }, Fields: []field{ { Name: "attributes", @@ -431,6 +463,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 16, + Line: 1, + Column: 17, + }, Fields: []field{ { Name: "attributes", @@ -464,6 +501,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 16, + Line: 1, + Column: 17, + }, Fields: []field{ { Name: "attributes", @@ -499,6 +541,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Context: "foo", Fields: []field{ { @@ -553,6 +600,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Context: "foo", Fields: []field{ { @@ -585,6 +637,11 @@ func Test_parse(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 44, + Line: 1, + Column: 45, + }, Fields: []field{ { Name: "name", @@ -614,6 +671,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Context: "foo", Fields: []field{ { @@ -646,6 +708,11 @@ func Test_parse(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 44, + Line: 1, + Column: 45, + }, Fields: []field{ { Name: "name", @@ -675,6 +742,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 7, + Line: 1, + Column: 8, + }, Context: "foo", Fields: []field{ { @@ -707,6 +779,11 @@ func Test_parse(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 52, + Line: 1, + Column: 53, + }, Fields: []field{ { Name: "name", @@ -797,6 +874,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -832,6 +914,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -867,6 +954,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -902,6 +994,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -939,6 +1036,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -980,6 +1082,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -1024,6 +1131,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -1095,6 +1207,11 @@ func Test_parse(t *testing.T) { { Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 70, + Line: 1, + Column: 71, + }, Fields: []field{ { Name: "attributes", @@ -1128,6 +1245,11 @@ func Test_parse(t *testing.T) { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "attributes", @@ -1213,6 +1335,11 @@ func Test_parse(t *testing.T) { Left: &mathValue{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 55, + Line: 1, + Column: 56, + }, Fields: []field{ { Name: "three", @@ -1287,6 +1414,11 @@ func Test_parseCondition_full(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 0, + Line: 1, + Column: 1, + }, Fields: []field{ { Name: "name", @@ -1314,6 +1446,11 @@ func Test_parseCondition_full(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 0, + Line: 1, + Column: 1, + }, Fields: []field{ { Name: "name", @@ -1378,6 +1515,11 @@ func Test_parseCondition_full(t *testing.T) { Left: &mathValue{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 13, + Line: 1, + Column: 14, + }, Fields: []field{ { Name: "three", @@ -1477,6 +1619,11 @@ func setNameTest(b *booleanExpression) *parsedStatement { Value: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, Fields: []field{ { Name: "name", @@ -1713,6 +1860,11 @@ func Test_parseWhere(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 24, + Line: 1, + Column: 25, + }, Fields: []field{ { Name: "name", @@ -1735,6 +1887,11 @@ func Test_parseWhere(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 42, + Line: 1, + Column: 43, + }, Fields: []field{ { Name: "name", @@ -1763,6 +1920,11 @@ func Test_parseWhere(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 24, + Line: 1, + Column: 25, + }, Fields: []field{ { Name: "name", @@ -1787,6 +1949,11 @@ func Test_parseWhere(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 41, + Line: 1, + Column: 42, + }, Fields: []field{ { Name: "name", @@ -1839,6 +2006,11 @@ func Test_parseWhere(t *testing.T) { Left: value{ Literal: &mathExprLiteral{ Path: &path{ + Pos: lexer.Position{ + Offset: 28, + Line: 1, + Column: 29, + }, Fields: []field{ { Name: "name", @@ -2022,71 +2194,81 @@ func Test_ParseConditions_Error(t *testing.T) { // This test doesn't validate parser results, simply checks whether the parse succeeds or not. // It's a fast way to check a large range of possible syntaxes. func Test_parseStatement(t *testing.T) { + converterNameErrorPrefix := "converter names must start with an uppercase letter" + editorWithIndexErrorPrefix := "only paths and converters may be indexed" + tests := []struct { - statement string - wantErr bool + statement string + wantErr bool + wantErrContaining string }{ - {`set(`, true}, - {`set("foo)`, true}, - {`set(name.)`, true}, - {`("foo")`, true}, - {`set("foo") where name =||= "fido"`, true}, - {`set(span_id, SpanIDWrapper{not a hex string})`, true}, - {`set(span_id, SpanIDWrapper{01})`, true}, - {`set(span_id, SpanIDWrapper{010203040506070809})`, true}, - {`set(trace_id, TraceIDWrapper{not a hex string})`, true}, - {`set(trace_id, TraceIDWrapper{0102030405060708090a0b0c0d0e0f})`, true}, - {`set(trace_id, TraceIDWrapper{0102030405060708090a0b0c0d0e0f1011})`, true}, - {`set("foo") where name = "fido"`, true}, - {`set("foo") where name or "fido"`, true}, - {`set("foo") where name and "fido"`, true}, - {`set("foo") where name and`, true}, - {`set("foo") where name or`, true}, - {`set("foo") where (`, true}, - {`set("foo") where )`, true}, - {`set("foo") where (name == "fido"))`, true}, - {`set("foo") where ((name == "fido")`, true}, - {`Set()`, true}, - {`set(int())`, true}, - {`set(1 + int())`, true}, - {`set(int() + 1)`, true}, - {`set(1 * int())`, true}, - {`set(1 * 1 + (2 * int()))`, true}, - {`set() where int() == 1`, true}, - {`set() where 1 == int()`, true}, - {`set() where true and 1 == int() `, true}, - {`set() where false or 1 == int() `, true}, - {`set(foo.attributes["bar"].cat, "dog")`, false}, - {`set(set = foo.attributes["animal"], val = "dog") where animal == "cat"`, false}, - {`test() where service == "pinger" or foo.attributes["endpoint"] == "/x/alive"`, false}, - {`test() where service == "pinger" or foo.attributes["verb"] == "GET" and foo.attributes["endpoint"] == "/x/alive"`, false}, - {`test() where animal > "cat"`, false}, - {`test() where animal >= "cat"`, false}, - {`test() where animal <= "cat"`, false}, - {`test() where animal < "cat"`, false}, - {`test() where animal =< "dog"`, true}, - {`test() where animal => "dog"`, true}, - {`test() where animal <> "dog"`, true}, - {`test() where animal = "dog"`, true}, - {`test() where animal`, true}, - {`test() where animal ==`, true}, - {`test() where ==`, true}, - {`test() where == animal`, true}, - {`test() where attributes["path"] == "/healthcheck"`, false}, - {`test() where one() == 1`, true}, - {`test(fail())`, true}, - {`Test()`, true}, + {statement: `set(`, wantErr: true}, + {statement: `set("foo)`, wantErr: true}, + {statement: `set(name.)`, wantErr: true}, + {statement: `("foo")`, wantErr: true}, + {statement: `set("foo") where name =||= "fido"`, wantErr: true}, + {statement: `set(span_id, SpanIDWrapper{not a hex string})`, wantErr: true}, + {statement: `set(span_id, SpanIDWrapper{01})`, wantErr: true}, + {statement: `set(span_id, SpanIDWrapper{010203040506070809})`, wantErr: true}, + {statement: `set(trace_id, TraceIDWrapper{not a hex string})`, wantErr: true}, + {statement: `set(trace_id, TraceIDWrapper{0102030405060708090a0b0c0d0e0f})`, wantErr: true}, + {statement: `set(trace_id, TraceIDWrapper{0102030405060708090a0b0c0d0e0f1011})`, wantErr: true}, + {statement: `set("foo") where name = "fido"`, wantErr: true}, + {statement: `set("foo") where name or "fido"`, wantErr: true}, + {statement: `set("foo") where name and "fido"`, wantErr: true}, + {statement: `set("foo") where name and`, wantErr: true}, + {statement: `set("foo") where name or`, wantErr: true}, + {statement: `set("foo") where (`, wantErr: true}, + {statement: `set("foo") where )`, wantErr: true}, + {statement: `set("foo") where (name == "fido"))`, wantErr: true}, + {statement: `set("foo") where ((name == "fido")`, wantErr: true}, + {statement: `Set()`, wantErr: true}, + {statement: `set(int())`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set(1 + int())`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set(int() + 1)`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set(1 * int())`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set(1 * 1 + (2 * int()))`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set() where int() == 1`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set() where 1 == int()`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set() where true and 1 == int() `, wantErrContaining: converterNameErrorPrefix}, + {statement: `set() where false or 1 == int() `, wantErrContaining: converterNameErrorPrefix}, + {statement: `set(foo.attributes["bar"].cat)["key"]`, wantErrContaining: editorWithIndexErrorPrefix}, + {statement: `set(foo.attributes["bar"].cat, "dog")`}, + {statement: `set(set = foo.attributes["animal"], val = "dog") where animal == "cat"`}, + {statement: `test() where service == "pinger" or foo.attributes["endpoint"] == "/x/alive"`}, + {statement: `test() where service == "pinger" or foo.attributes["verb"] == "GET" and foo.attributes["endpoint"] == "/x/alive"`}, + {statement: `test() where animal > "cat"`}, + {statement: `test() where animal >= "cat"`}, + {statement: `test() where animal <= "cat"`}, + {statement: `test() where animal < "cat"`}, + {statement: `test() where animal =< "dog"`, wantErr: true}, + {statement: `test() where animal => "dog"`, wantErr: true}, + {statement: `test() where animal <> "dog"`, wantErr: true}, + {statement: `test() where animal = "dog"`, wantErr: true}, + {statement: `test() where animal`, wantErr: true}, + {statement: `test() where animal ==`, wantErr: true}, + {statement: `test() where ==`, wantErr: true}, + {statement: `test() where == animal`, wantErr: true}, + {statement: `test() where attributes["path"] == "/healthcheck"`}, + {statement: `test() where one() == 1`, wantErr: true}, + {statement: `test(fail())`, wantErrContaining: converterNameErrorPrefix}, + {statement: `Test()`, wantErr: true}, + {statement: `set() where test(foo)["key"] == "bar"`, wantErrContaining: converterNameErrorPrefix}, + {statement: `set() where test(foo)["key"] == "bar"`, wantErrContaining: editorWithIndexErrorPrefix}, } pat := regexp.MustCompile("[^a-zA-Z0-9]+") for _, tt := range tests { name := pat.ReplaceAllString(tt.statement, "_") t.Run(name, func(t *testing.T) { ast, err := parseStatement(tt.statement) - if (err != nil) != tt.wantErr { - t.Errorf("parseStatement(%s) error = %v, wantErr %v", tt.statement, err, tt.wantErr) + if (err != nil) != (tt.wantErr || tt.wantErrContaining != "") { + t.Errorf("parseStatement(%s) error = %v, wantErr %v, wantErrContaining %v", tt.statement, err, tt.wantErr, tt.wantErrContaining) t.Errorf("AST: %+v", ast) return } + if tt.wantErrContaining != "" { + require.ErrorContains(t, err, tt.wantErrContaining) + } }) } } @@ -2094,59 +2276,69 @@ func Test_parseStatement(t *testing.T) { // This test doesn't validate parser results, simply checks whether the parse succeeds or not. // It's a fast way to check a large range of possible syntaxes. func Test_parseCondition(t *testing.T) { + converterNameErrorPrefix := "converter names must start with an uppercase letter" + editorWithIndexErrorPrefix := "only paths and converters may be indexed" + tests := []struct { - condition string - wantErr bool + condition string + wantErr bool + wantErrContaining string }{ - {`set(`, true}, - {`set("foo)`, true}, - {`set(name.)`, true}, - {`("foo")`, true}, - {`name =||= "fido"`, true}, - {`name = "fido"`, true}, - {`name or "fido"`, true}, - {`name and "fido"`, true}, - {`name and`, true}, - {`name or`, true}, - {`(`, true}, - {`)`, true}, - {`(name == "fido"))`, true}, - {`((name == "fido")`, true}, - {`set()`, true}, - {`Int() == 1`, false}, - {`1 == Int()`, false}, - {`true and 1 == Int() `, false}, - {`false or 1 == Int() `, false}, - {`service == "pinger" or foo.attributes["endpoint"] == "/x/alive"`, false}, - {`service == "pinger" or foo.attributes["verb"] == "GET" and foo.attributes["endpoint"] == "/x/alive"`, false}, - {`animal > "cat"`, false}, - {`animal >= "cat"`, false}, - {`animal <= "cat"`, false}, - {`animal < "cat"`, false}, - {`animal =< "dog"`, true}, - {`animal => "dog"`, true}, - {`animal <> "dog"`, true}, - {`animal = "dog"`, true}, - {`animal`, true}, - {`animal ==`, true}, - {`==`, true}, - {`== animal`, true}, - {`attributes["path"] == "/healthcheck"`, false}, - {`One() == 1`, false}, - {`test(fail())`, true}, - {`Test()`, false}, - {`"test" == Foo`, true}, + {condition: `set(`, wantErr: true}, + {condition: `set("foo)`, wantErr: true}, + {condition: `set(name.)`, wantErr: true}, + {condition: `("foo")`, wantErr: true}, + {condition: `name =||= "fido"`, wantErr: true}, + {condition: `name = "fido"`, wantErr: true}, + {condition: `name or "fido"`, wantErr: true}, + {condition: `name and "fido"`, wantErr: true}, + {condition: `name and`, wantErr: true}, + {condition: `name or`, wantErr: true}, + {condition: `(`, wantErr: true}, + {condition: `)`, wantErr: true}, + {condition: `(name == "fido"))`, wantErr: true}, + {condition: `((name == "fido")`, wantErr: true}, + {condition: `set()`, wantErr: true}, + {condition: `Int() == 1`}, + {condition: `1 == Int()`}, + {condition: `true and 1 == Int() `}, + {condition: `false or 1 == Int() `}, + {condition: `service == "pinger" or foo.attributes["endpoint"] == "/x/alive"`}, + {condition: `service == "pinger" or foo.attributes["verb"] == "GET" and foo.attributes["endpoint"] == "/x/alive"`}, + {condition: `animal > "cat"`}, + {condition: `animal >= "cat"`}, + {condition: `animal <= "cat"`}, + {condition: `animal < "cat"`}, + {condition: `animal =< "dog"`, wantErr: true}, + {condition: `animal => "dog"`, wantErr: true}, + {condition: `animal <> "dog"`, wantErr: true}, + {condition: `animal = "dog"`, wantErr: true}, + {condition: `animal`, wantErr: true}, + {condition: `animal ==`, wantErr: true}, + {condition: `==`, wantErr: true}, + {condition: `== animal`, wantErr: true}, + {condition: `attributes["path"] == "/healthcheck"`}, + {condition: `One() == 1`}, + {condition: `test(fail())`, wantErr: true}, + {condition: `Test()`}, + {condition: `"test" == Foo`, wantErr: true}, + {condition: `test(animal) == "dog"`, wantErrContaining: converterNameErrorPrefix}, + {condition: `test(animal)["kind"] == "birds"`, wantErrContaining: converterNameErrorPrefix}, + {condition: `test(animal)["kind"] == "birds"`, wantErrContaining: editorWithIndexErrorPrefix}, } pat := regexp.MustCompile("[^a-zA-Z0-9]+") for _, tt := range tests { name := pat.ReplaceAllString(tt.condition, "_") t.Run(name, func(t *testing.T) { ast, err := parseCondition(tt.condition) - if (err != nil) != tt.wantErr { + if (err != nil) != (tt.wantErr || tt.wantErrContaining != "") { t.Errorf("parseCondition(%s) error = %v, wantErr %v", tt.condition, err, tt.wantErr) t.Errorf("AST: %+v", ast) return } + if tt.wantErrContaining != "" { + require.ErrorContains(t, err, tt.wantErrContaining) + } }) } } diff --git a/pkg/ottl/paths.go b/pkg/ottl/paths.go new file mode 100644 index 000000000000..dbb66ee7c994 --- /dev/null +++ b/pkg/ottl/paths.go @@ -0,0 +1,32 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottl // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl" + +// grammarPathVisitor is used to extract all path from a parsedStatement or booleanExpression +type grammarPathVisitor struct { + paths []path +} + +func (v *grammarPathVisitor) visitEditor(_ *editor) {} +func (v *grammarPathVisitor) visitValue(_ *value) {} +func (v *grammarPathVisitor) visitMathExprLiteral(_ *mathExprLiteral) {} + +func (v *grammarPathVisitor) visitPath(value *path) { + v.paths = append(v.paths, *value) +} + +func getParsedStatementPaths(ps *parsedStatement) []path { + visitor := &grammarPathVisitor{} + ps.Editor.accept(visitor) + if ps.WhereClause != nil { + ps.WhereClause.accept(visitor) + } + return visitor.paths +} + +func getBooleanExpressionPaths(be *booleanExpression) []path { + visitor := &grammarPathVisitor{} + be.accept(visitor) + return visitor.paths +} diff --git a/pkg/ottl/paths_test.go b/pkg/ottl/paths_test.go new file mode 100644 index 000000000000..9f31dda15718 --- /dev/null +++ b/pkg/ottl/paths_test.go @@ -0,0 +1,450 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ottl + +import ( + "testing" + + "github.com/alecthomas/participle/v2/lexer" + "github.com/stretchr/testify/require" + + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/ottltest" +) + +func Test_getParsedStatementPaths(t *testing.T) { + tests := []struct { + name string + statement string + expected []path + }{ + { + name: "editor with nested map with path", + statement: `fff({"mapAttr": {"foo": "bar", "get": bear.honey, "arrayAttr":["foo", "bar"]}})`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 38, + Line: 1, + Column: 39, + }, + Context: "bear", + Fields: []field{ + { + Name: "honey", + }, + }, + }, + }, + }, + { + name: "editor with function path parameter", + statement: `set("foo", GetSomething(bear.honey))`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 24, + Line: 1, + Column: 25, + }, + Context: "bear", + Fields: []field{ + { + Name: "honey", + }, + }, + }, + }, + }, + { + name: "path with key", + statement: `set(foo.attributes["bar"].cat, "dog")`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Context: "foo", + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("bar"), + }, + }, + }, + { + Name: "cat", + }, + }, + }, + }, + }, + { + name: "single path field segment", + statement: `set(attributes["bar"], "dog")`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Context: "", + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("bar"), + }, + }, + }, + }, + }, + }, + }, + { + name: "converter parameters", + statement: `replace_pattern(attributes["message"], "device=*", attributes["device_name"], SHA256)`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 16, + Line: 1, + Column: 17, + }, + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("message"), + }, + }, + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 51, + Line: 1, + Column: 52, + }, + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("device_name"), + }, + }, + }, + }, + }, + }, + }, + { + name: "complex path with multiple keys", + statement: `set(foo.bar["x"]["y"].z, Test()[0]["pass"])`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Context: "foo", + Fields: []field{ + { + Name: "bar", + Keys: []key{ + { + String: ottltest.Strp("x"), + }, + { + String: ottltest.Strp("y"), + }, + }, + }, + { + Name: "z", + }, + }, + }, + }, + }, + { + name: "where clause", + statement: `set(foo.attributes["bar"].cat, "dog") where name == "fido"`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Context: "foo", + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("bar"), + }, + }, + }, + { + Name: "cat", + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 44, + Line: 1, + Column: 45, + }, + Fields: []field{ + { + Name: "name", + }, + }, + }, + }, + }, + { + name: "where clause multiple conditions", + statement: `set(foo.attributes["bar"].cat, "dog") where name == "fido" and surname == "dido" or surname == "DIDO"`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Context: "foo", + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("bar"), + }, + }, + }, + { + Name: "cat", + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 44, + Line: 1, + Column: 45, + }, + Fields: []field{ + { + Name: "name", + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 63, + Line: 1, + Column: 64, + }, + Fields: []field{ + { + Name: "surname", + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 84, + Line: 1, + Column: 85, + }, + Fields: []field{ + { + Name: "surname", + }, + }, + }, + }, + }, + { + name: "where clause sub expression", + statement: `set(foo.attributes["bar"].cat, "value") where three / (1 + 1) == foo.value`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Context: "foo", + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("bar"), + }, + }, + }, + { + Name: "cat", + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 46, + Line: 1, + Column: 47, + }, + Fields: []field{ + { + Name: "three", + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 65, + Line: 1, + Column: 66, + }, + Context: "foo", + Fields: []field{ + { + Name: "value", + }, + }, + }, + }, + }, + { + name: "converter with path list", + statement: `set(attributes["test"], [bear.bear, bear.honey])`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("test"), + }, + }, + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 25, + Line: 1, + Column: 26, + }, + Context: "bear", + Fields: []field{{Name: "bear"}}, + }, + { + Pos: lexer.Position{ + Offset: 36, + Line: 1, + Column: 37, + }, + Context: "bear", + Fields: []field{{Name: "honey"}}, + }, + }, + }, + { + name: "converter math math expression", + statement: `set(attributes["test"], 1000 - 600) where 1 + 1 * 2 == three / One()`, + expected: []path{ + { + Pos: lexer.Position{ + Offset: 4, + Line: 1, + Column: 5, + }, + Fields: []field{ + { + Name: "attributes", + Keys: []key{ + { + String: ottltest.Strp("test"), + }, + }, + }, + }, + }, + { + Pos: lexer.Position{ + Offset: 55, + Line: 1, + Column: 56, + }, + Fields: []field{ + { + Name: "three", + }, + }, + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ps, err := parseStatement(tt.statement) + require.NoError(t, err) + + paths := getParsedStatementPaths(ps) + require.Equal(t, tt.expected, paths) + }) + } +} + +func Test_getBooleanExpressionPaths(t *testing.T) { + expected := []path{ + { + Pos: lexer.Position{ + Offset: 0, + Line: 1, + Column: 1, + }, + Context: "honey", + Fields: []field{{Name: "bear"}}, + }, + { + Pos: lexer.Position{ + Offset: 21, + Line: 1, + Column: 22, + }, + Context: "foo", + Fields: []field{{Name: "bar"}}, + }, + } + + c, err := parseCondition("honey.bear == 1 and (foo.bar == true or 1 == 1)") + require.NoError(t, err) + + paths := getBooleanExpressionPaths(c) + require.Equal(t, expected, paths) +} diff --git a/pkg/pdatatest/go.mod b/pkg/pdatatest/go.mod index 8e423ad3519e..ac71c26f80ea 100644 --- a/pkg/pdatatest/go.mod +++ b/pkg/pdatatest/go.mod @@ -3,10 +3,10 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 ) @@ -19,12 +19,12 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/pdatatest/go.sum b/pkg/pdatatest/go.sum index b356b2622b44..68fb1c4236d7 100644 --- a/pkg/pdatatest/go.sum +++ b/pkg/pdatatest/go.sum @@ -31,8 +31,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -46,20 +46,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -68,12 +68,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/pdatatest/plogtest/logs_test.go b/pkg/pdatatest/plogtest/logs_test.go index 345823e1846a..c8910d24c3ef 100644 --- a/pkg/pdatatest/plogtest/logs_test.go +++ b/pkg/pdatatest/plogtest/logs_test.go @@ -142,6 +142,14 @@ func TestCompareLogs(t *testing.T) { withoutOptions: errors.New(`resource "map[]": scope "collector": log record "map[]": timestamp doesn't match expected: 11651379494838206465, actual: 11651379494838206464`), withOptions: nil, }, + { + name: "ignore-log-record-attribute-value", + compareOptions: []CompareLogsOption{ + IgnoreLogRecordAttributeValue("Key1"), + }, + withoutOptions: errors.New(`resource "map[]": scope "": missing expected log record: map[Key1:Val2]; resource "map[]": scope "": unexpected log record: map[Key1:Val1]`), + withOptions: nil, + }, } for _, tc := range tcs { diff --git a/pkg/pdatatest/plogtest/options.go b/pkg/pdatatest/plogtest/options.go index 412efd7d7eb5..632b76297c99 100644 --- a/pkg/pdatatest/plogtest/options.go +++ b/pkg/pdatatest/plogtest/options.go @@ -42,13 +42,47 @@ func (opt ignoreResourceAttributeValue) applyOnLogs(expected, actual plog.Logs) opt.maskLogsResourceAttributeValue(actual) } -func (opt ignoreResourceAttributeValue) maskLogsResourceAttributeValue(metrics plog.Logs) { - rls := metrics.ResourceLogs() +func (opt ignoreResourceAttributeValue) maskLogsResourceAttributeValue(logs plog.Logs) { + rls := logs.ResourceLogs() for i := 0; i < rls.Len(); i++ { internal.MaskResourceAttributeValue(rls.At(i).Resource(), opt.attributeName) } } +// IgnoreLogRecordAttributeValue is a CompareLogsOption that sets the value of an attribute +// to empty bytes for every log record +func IgnoreLogRecordAttributeValue(attributeName string) CompareLogsOption { + return ignoreLogRecordAttributeValue{ + attributeName: attributeName, + } +} + +type ignoreLogRecordAttributeValue struct { + attributeName string +} + +func (opt ignoreLogRecordAttributeValue) applyOnLogs(expected, actual plog.Logs) { + opt.maskLogRecordAttributeValue(expected) + opt.maskLogRecordAttributeValue(actual) +} + +func (opt ignoreLogRecordAttributeValue) maskLogRecordAttributeValue(logs plog.Logs) { + rls := logs.ResourceLogs() + for i := 0; i < logs.ResourceLogs().Len(); i++ { + sls := rls.At(i).ScopeLogs() + for j := 0; j < sls.Len(); j++ { + lrs := sls.At(j).LogRecords() + for k := 0; k < lrs.Len(); k++ { + lr := lrs.At(k) + val, exists := lr.Attributes().Get(opt.attributeName) + if exists { + val.SetEmptyBytes() + } + } + } + } +} + func IgnoreTimestamp() CompareLogsOption { return compareLogsOptionFunc(func(expected, actual plog.Logs) { now := pcommon.NewTimestampFromTime(time.Now()) diff --git a/pkg/pdatatest/plogtest/testdata/ignore-log-record-attribute-value/actual.yaml b/pkg/pdatatest/plogtest/testdata/ignore-log-record-attribute-value/actual.yaml new file mode 100644 index 000000000000..5fed2e0e0108 --- /dev/null +++ b/pkg/pdatatest/plogtest/testdata/ignore-log-record-attribute-value/actual.yaml @@ -0,0 +1,12 @@ +resourceLogs: + - resource: {} + scopeLogs: + - logRecords: + - attributes: + - key: Key1 + value: + stringValue: Val1 + body: {} + spanId: "" + traceId: "" + scope: {} diff --git a/pkg/pdatatest/plogtest/testdata/ignore-log-record-attribute-value/expected.yaml b/pkg/pdatatest/plogtest/testdata/ignore-log-record-attribute-value/expected.yaml new file mode 100644 index 000000000000..fbd1af584d58 --- /dev/null +++ b/pkg/pdatatest/plogtest/testdata/ignore-log-record-attribute-value/expected.yaml @@ -0,0 +1,12 @@ +resourceLogs: + - resource: {} + scopeLogs: + - logRecords: + - attributes: + - key: Key1 + value: + stringValue: Val2 + body: {} + spanId: "" + traceId: "" + scope: {} diff --git a/pkg/pdatatest/pmetrictest/metrics_test.go b/pkg/pdatatest/pmetrictest/metrics_test.go index d83379948dcf..6f09b1be5edc 100644 --- a/pkg/pdatatest/pmetrictest/metrics_test.go +++ b/pkg/pdatatest/pmetrictest/metrics_test.go @@ -240,6 +240,13 @@ func TestCompareMetrics(t *testing.T) { }, withoutOptions: errors.New(`resource "map[]": scope "": metric "gauge.one": datapoint "map[]": double value doesn't match expected: 123.456000, actual: 654.321000`), }, + { + name: "ignore-data-point-value-double-precision", + compareOptions: []CompareMetricsOption{ + IgnoreMetricFloatPrecision(3), + }, + withoutOptions: errors.New(`resource "map[]": scope "": metric "gauge.one": datapoint "map[]": double value doesn't match expected: 654.321110, actual: 654.321000`), + }, { name: "ignore-data-point-value-int-mismatch", compareOptions: []CompareMetricsOption{ diff --git a/pkg/pdatatest/pmetrictest/options.go b/pkg/pdatatest/pmetrictest/options.go index da983e585833..2c050536ec25 100644 --- a/pkg/pdatatest/pmetrictest/options.go +++ b/pkg/pdatatest/pmetrictest/options.go @@ -6,6 +6,7 @@ package pmetrictest // import "github.com/open-telemetry/opentelemetry-collector import ( "bytes" "fmt" + "math" "regexp" "sort" "time" @@ -110,6 +111,56 @@ func maskHistogramDataPointSliceValues(dataPoints pmetric.HistogramDataPointSlic } } +// IgnoreMetricFloatPrecision is a CompareMetricsOption that rounds away float precision discrepancies in metric values. +func IgnoreMetricFloatPrecision(precision int, metricNames ...string) CompareMetricsOption { + return compareMetricsOptionFunc(func(expected, actual pmetric.Metrics) { + floatMetricValues(precision, expected, metricNames...) + floatMetricValues(precision, actual, metricNames...) + }) +} + +func floatMetricValues(precision int, metrics pmetric.Metrics, metricNames ...string) { + rms := metrics.ResourceMetrics() + for i := 0; i < rms.Len(); i++ { + ilms := rms.At(i).ScopeMetrics() + for j := 0; j < ilms.Len(); j++ { + floatMetricSliceValues(precision, ilms.At(j).Metrics(), metricNames...) + } + } +} + +// floatMetricSliceValues sets all data point values to zero. +func floatMetricSliceValues(precision int, metrics pmetric.MetricSlice, metricNames ...string) { + metricNameSet := make(map[string]bool, len(metricNames)) + for _, metricName := range metricNames { + metricNameSet[metricName] = true + } + for i := 0; i < metrics.Len(); i++ { + if len(metricNames) == 0 || metricNameSet[metrics.At(i).Name()] { + switch metrics.At(i).Type() { + case pmetric.MetricTypeEmpty, pmetric.MetricTypeSum, pmetric.MetricTypeGauge: + roundDataPointSliceValues(getDataPointSlice(metrics.At(i)), precision) + default: + panic(fmt.Sprintf("data type not supported: %s", metrics.At(i).Type())) + } + } + } +} + +// maskDataPointSliceValues rounds all data point values at a given decimal. +func roundDataPointSliceValues(dataPoints pmetric.NumberDataPointSlice, precision int) { + for i := 0; i < dataPoints.Len(); i++ { + dataPoint := dataPoints.At(i) + factor := math.Pow(10, float64(precision)) + switch { + case dataPoint.DoubleValue() != 0.0: + dataPoint.SetDoubleValue(math.Round(dataPoint.DoubleValue()*factor) / factor) + case dataPoint.IntValue() != 0: + panic(fmt.Sprintf("integers can not have float precision ignored: %v", dataPoints.At(i))) + } + } +} + // IgnoreTimestamp is a CompareMetricsOption that clears Timestamp fields on all the data points. func IgnoreTimestamp() CompareMetricsOption { return compareMetricsOptionFunc(func(expected, actual pmetric.Metrics) { diff --git a/pkg/pdatatest/pmetrictest/testdata/ignore-data-point-value-double-precision/actual.yaml b/pkg/pdatatest/pmetrictest/testdata/ignore-data-point-value-double-precision/actual.yaml new file mode 100644 index 000000000000..046dd763e6be --- /dev/null +++ b/pkg/pdatatest/pmetrictest/testdata/ignore-data-point-value-double-precision/actual.yaml @@ -0,0 +1,9 @@ +resourceMetrics: + - resource: {} + scopeMetrics: + - metrics: + - gauge: + dataPoints: + - asDouble: 654.321 + name: gauge.one + scope: {} diff --git a/pkg/pdatatest/pmetrictest/testdata/ignore-data-point-value-double-precision/expected.yaml b/pkg/pdatatest/pmetrictest/testdata/ignore-data-point-value-double-precision/expected.yaml new file mode 100644 index 000000000000..8472ce9e9ba2 --- /dev/null +++ b/pkg/pdatatest/pmetrictest/testdata/ignore-data-point-value-double-precision/expected.yaml @@ -0,0 +1,9 @@ +resourceMetrics: + - resource: {} + scopeMetrics: + - metrics: + - gauge: + dataPoints: + - asDouble: 654.32111 + name: gauge.one + scope: {} diff --git a/pkg/pdatautil/go.mod b/pkg/pdatautil/go.mod index c39f0f2943a4..3bb041b23c3e 100644 --- a/pkg/pdatautil/go.mod +++ b/pkg/pdatautil/go.mod @@ -5,7 +5,7 @@ go 1.22.0 require ( github.com/cespare/xxhash/v2 v2.3.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) @@ -15,12 +15,12 @@ require ( github.com/kr/text v0.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/pdatautil/go.sum b/pkg/pdatautil/go.sum index 25db6e0f1fdb..d60d1fde3179 100644 --- a/pkg/pdatautil/go.sum +++ b/pkg/pdatautil/go.sum @@ -21,8 +21,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -36,20 +36,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -58,12 +58,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/resourcetotelemetry/go.mod b/pkg/resourcetotelemetry/go.mod index 0abed568f068..570cdccdb3f1 100644 --- a/pkg/resourcetotelemetry/go.mod +++ b/pkg/resourcetotelemetry/go.mod @@ -3,11 +3,11 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetot go 1.22.0 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/exporter v0.112.0 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/goleak v1.3.0 ) @@ -18,21 +18,20 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect + go.opentelemetry.io/collector/component v0.112.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/metric v1.31.0 // indirect + go.opentelemetry.io/otel/trace v1.31.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/resourcetotelemetry/go.sum b/pkg/resourcetotelemetry/go.sum index 3994b9806574..56c92426900e 100644 --- a/pkg/resourcetotelemetry/go.sum +++ b/pkg/resourcetotelemetry/go.sum @@ -33,29 +33,30 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.1 h1:c3JZU5g5KezDXaMgL7GDFB7ihuLNzXo6eBuaJOmBiDA= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331 h1:sW1iygKNvStvUCDykpeZkfOB5QXKpahc7X7M3Rt2zM0= -go.opentelemetry.io/collector/exporter v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:hOD6Ql5/sGbKAHL7LS1u1eGgYcwWcyOdpXERHolnAtI= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/exporter v0.112.0 h1:pa7c4du+3pFzfsglQoTIHfc866i9f3dJZtiVusvlQs8= +go.opentelemetry.io/collector/exporter v0.112.0/go.mod h1:sQdTvJjAUZ6ML8Jv/sXE1bxpDTg4qyzzkk9Dmzq1Bfg= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -79,12 +80,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -95,10 +96,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/sampling/go.mod b/pkg/sampling/go.mod index 9eef597f5ba0..8a4ab1c0e968 100644 --- a/pkg/sampling/go.mod +++ b/pkg/sampling/go.mod @@ -4,7 +4,7 @@ go 1.22.0 require ( github.com/stretchr/testify v1.9.0 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 + go.opentelemetry.io/collector/pdata v1.18.0 go.uber.org/multierr v1.11.0 ) @@ -13,11 +13,11 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/kr/text v0.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - golang.org/x/net v0.26.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/text v0.17.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/sampling/go.sum b/pkg/sampling/go.sum index c87dbc085547..56bbe1cd7fd1 100644 --- a/pkg/sampling/go.sum +++ b/pkg/sampling/go.sum @@ -19,8 +19,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -34,20 +34,20 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -56,12 +56,12 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/sampling/oteltracestate_test.go b/pkg/sampling/oteltracestate_test.go index 6763e6d9e177..ba96f054b70b 100644 --- a/pkg/sampling/oteltracestate_test.go +++ b/pkg/sampling/oteltracestate_test.go @@ -87,7 +87,7 @@ func TestOpenTelemetryTraceStateRValuePValue(t *testing.T) { require.Equal(t, "", otts.RValue()) // The error is oblivious to the old r-value, but that's ok. - require.Contains(t, err.Error(), "14 hex digits") + require.ErrorContains(t, err, "14 hex digits") require.Equal(t, []KV{{"p", "2"}}, otts.ExtraValues()) diff --git a/pkg/stanza/adapter/benchmark_test.go b/pkg/stanza/adapter/benchmark_test.go index b2ed4be6554b..a29179d1cbc1 100644 --- a/pkg/stanza/adapter/benchmark_test.go +++ b/pkg/stanza/adapter/benchmark_test.go @@ -33,7 +33,7 @@ func TestEndToEnd(t *testing.T) { cfg.BenchOpConfig.NumHosts = numHosts sink := new(consumertest.LogsSink) - rcvr, err := f.CreateLogsReceiver(ctx, receivertest.NewNopSettings(), cfg, sink) + rcvr, err := f.CreateLogs(ctx, receivertest.NewNopSettings(), cfg, sink) require.NoError(t, err) require.NoError(t, rcvr.Start(context.Background(), componenttest.NewNopHost())) @@ -62,7 +62,7 @@ func (bc benchCase) run(b *testing.B) { cfg.BenchOpConfig.NumHosts = numHosts sink := new(consumertest.LogsSink) - rcvr, err := f.CreateLogsReceiver(context.Background(), receivertest.NewNopSettings(), cfg, sink) + rcvr, err := f.CreateLogs(context.Background(), receivertest.NewNopSettings(), cfg, sink) require.NoError(b, err) b.ReportAllocs() diff --git a/pkg/stanza/adapter/converter.go b/pkg/stanza/adapter/converter.go index 71183159364d..2f8c3540cf42 100644 --- a/pkg/stanza/adapter/converter.go +++ b/pkg/stanza/adapter/converter.go @@ -59,7 +59,10 @@ type Converter struct { pLogsChan chan plog.Logs stopOnce sync.Once - stopChan chan struct{} + + // converterChan is an internal communication channel signaling stop was called + // prevents sending to closed channels + converterChan chan struct{} // workerChan is an internal communication channel that gets the log // entries from Batch() calls and it receives the data in workerLoop(). @@ -73,6 +76,10 @@ type Converter struct { // wg is a WaitGroup that makes sure that we wait for spun up goroutines exit // when Stop() is called. wg sync.WaitGroup + + // flushWg is a WaitGroup that makes sure that we wait for flush loop to exit + // when Stop() is called. + flushWg sync.WaitGroup } type converterOption interface { @@ -94,12 +101,12 @@ func (o workerCountOption) apply(c *Converter) { func NewConverter(set component.TelemetrySettings, opts ...converterOption) *Converter { set.Logger = set.Logger.With(zap.String("component", "converter")) c := &Converter{ - set: set, - workerChan: make(chan []*entry.Entry), - workerCount: int(math.Max(1, float64(runtime.NumCPU()/4))), - pLogsChan: make(chan plog.Logs), - stopChan: make(chan struct{}), - flushChan: make(chan plog.Logs), + set: set, + workerChan: make(chan []*entry.Entry), + workerCount: int(math.Max(1, float64(runtime.NumCPU()/4))), + pLogsChan: make(chan plog.Logs), + converterChan: make(chan struct{}), + flushChan: make(chan plog.Logs), } for _, opt := range opts { opt.apply(c) @@ -115,14 +122,23 @@ func (c *Converter) Start() { go c.workerLoop() } - c.wg.Add(1) + c.flushWg.Add(1) go c.flushLoop() } func (c *Converter) Stop() { c.stopOnce.Do(func() { - close(c.stopChan) + close(c.converterChan) + + // close workerChan and wait for entries to be processed + close(c.workerChan) c.wg.Wait() + + // close flushChan and wait for flush loop to finish + close(c.flushChan) + c.flushWg.Wait() + + // close pLogsChan so callers can stop processing close(c.pLogsChan) }) } @@ -138,76 +154,57 @@ func (c *Converter) OutChannel() <-chan plog.Logs { func (c *Converter) workerLoop() { defer c.wg.Done() - for { + for entries := range c.workerChan { - select { - case <-c.stopChan: - return + resourceHashToIdx := make(map[uint64]int) + scopeIdxByResource := make(map[uint64]map[string]int) - case entries, ok := <-c.workerChan: - if !ok { - return - } + pLogs := plog.NewLogs() + var sl plog.ScopeLogs - resourceHashToIdx := make(map[uint64]int) - scopeIdxByResource := make(map[uint64]map[string]int) + for _, e := range entries { + resourceID := HashResource(e.Resource) + var rl plog.ResourceLogs - pLogs := plog.NewLogs() - var sl plog.ScopeLogs + resourceIdx, ok := resourceHashToIdx[resourceID] + if !ok { + resourceHashToIdx[resourceID] = pLogs.ResourceLogs().Len() - for _, e := range entries { - resourceID := HashResource(e.Resource) - var rl plog.ResourceLogs + rl = pLogs.ResourceLogs().AppendEmpty() + upsertToMap(e.Resource, rl.Resource().Attributes()) - resourceIdx, ok := resourceHashToIdx[resourceID] + scopeIdxByResource[resourceID] = map[string]int{e.ScopeName: 0} + sl = rl.ScopeLogs().AppendEmpty() + sl.Scope().SetName(e.ScopeName) + } else { + rl = pLogs.ResourceLogs().At(resourceIdx) + scopeIdxInResource, ok := scopeIdxByResource[resourceID][e.ScopeName] if !ok { - resourceHashToIdx[resourceID] = pLogs.ResourceLogs().Len() - - rl = pLogs.ResourceLogs().AppendEmpty() - upsertToMap(e.Resource, rl.Resource().Attributes()) - - scopeIdxByResource[resourceID] = map[string]int{e.ScopeName: 0} + scopeIdxByResource[resourceID][e.ScopeName] = rl.ScopeLogs().Len() sl = rl.ScopeLogs().AppendEmpty() sl.Scope().SetName(e.ScopeName) } else { - rl = pLogs.ResourceLogs().At(resourceIdx) - scopeIdxInResource, ok := scopeIdxByResource[resourceID][e.ScopeName] - if !ok { - scopeIdxByResource[resourceID][e.ScopeName] = rl.ScopeLogs().Len() - sl = rl.ScopeLogs().AppendEmpty() - sl.Scope().SetName(e.ScopeName) - } else { - sl = pLogs.ResourceLogs().At(resourceIdx).ScopeLogs().At(scopeIdxInResource) - } + sl = pLogs.ResourceLogs().At(resourceIdx).ScopeLogs().At(scopeIdxInResource) } - convertInto(e, sl.LogRecords().AppendEmpty()) - } - - // Send plogs directly to flushChan - select { - case c.flushChan <- pLogs: - case <-c.stopChan: } + convertInto(e, sl.LogRecords().AppendEmpty()) } + + // Send plogs directly to flushChan + c.flushChan <- pLogs } } func (c *Converter) flushLoop() { - defer c.wg.Done() + defer c.flushWg.Done() ctx, cancel := context.WithCancel(context.Background()) defer cancel() - for { - select { - case <-c.stopChan: - return - - case pLogs := <-c.flushChan: - if err := c.flush(ctx, pLogs); err != nil { - c.set.Logger.Debug("Problem sending log entries", - zap.Error(err), - ) - } + for pLogs := range c.flushChan { + if err := c.flush(ctx, pLogs); err != nil { + c.set.Logger.Debug("Problem sending log entries", + zap.Error(err), + ) } } } @@ -221,10 +218,6 @@ func (c *Converter) flush(ctx context.Context, pLogs plog.Logs) error { return fmt.Errorf("flushing log entries interrupted, err: %w", ctx.Err()) case c.pLogsChan <- pLogs: - - // The converter has been stopped so bail the flush. - case <-c.stopChan: - return errors.New("logs converter has been stopped") } return nil @@ -232,12 +225,15 @@ func (c *Converter) flush(ctx context.Context, pLogs plog.Logs) error { // Batch takes in an entry.Entry and sends it to an available worker for processing. func (c *Converter) Batch(e []*entry.Entry) error { + // in case Stop was called do not process batch select { - case c.workerChan <- e: - return nil - case <-c.stopChan: + case <-c.converterChan: return errors.New("logs converter has been stopped") + default: } + + c.workerChan <- e + return nil } // convert converts one entry.Entry into plog.LogRecord allocating it. diff --git a/pkg/stanza/adapter/factory_test.go b/pkg/stanza/adapter/factory_test.go index a97373135444..6eb7d798cad5 100644 --- a/pkg/stanza/adapter/factory_test.go +++ b/pkg/stanza/adapter/factory_test.go @@ -26,7 +26,7 @@ func TestCreateReceiver(t *testing.T) { Builder: json.NewConfig(), }, } - receiver, err := factory.CreateLogsReceiver(context.Background(), receivertest.NewNopSettings(), cfg, consumertest.NewNop()) + receiver, err := factory.CreateLogs(context.Background(), receivertest.NewNopSettings(), cfg, consumertest.NewNop()) require.NoError(t, err, "receiver creation failed") require.NotNil(t, receiver, "receiver creation failed") }) @@ -39,7 +39,7 @@ func TestCreateReceiver(t *testing.T) { Builder: regex.NewConfig(), }, } - receiver, err := factory.CreateLogsReceiver(context.Background(), receivertest.NewNopSettings(), badCfg, consumertest.NewNop()) + receiver, err := factory.CreateLogs(context.Background(), receivertest.NewNopSettings(), badCfg, consumertest.NewNop()) require.Error(t, err, "receiver creation should fail if parser configs aren't valid") require.Nil(t, receiver, "receiver creation should fail if parser configs aren't valid") }) diff --git a/pkg/stanza/adapter/integration_test.go b/pkg/stanza/adapter/integration_test.go index 53beba67304b..a088a917c808 100644 --- a/pkg/stanza/adapter/integration_test.go +++ b/pkg/stanza/adapter/integration_test.go @@ -8,6 +8,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" @@ -151,12 +152,15 @@ func TestEmitterToConsumer(t *testing.T) { err = logsReceiver.Start(context.Background(), componenttest.NewNopHost()) require.NoError(t, err) - defer func() { require.NoError(t, logsReceiver.Shutdown(context.Background())) }() + defer func() { + require.NoError(t, logsReceiver.emitter.Stop()) + require.NoError(t, logsReceiver.Shutdown(context.Background())) + }() go func() { ctx := context.Background() for _, e := range entries { - require.NoError(t, logsReceiver.emitter.Process(ctx, e)) + assert.NoError(t, logsReceiver.emitter.Process(ctx, e)) } }() diff --git a/pkg/stanza/adapter/receiver.go b/pkg/stanza/adapter/receiver.go index 4df6fd846ba5..61124e3bf3c7 100644 --- a/pkg/stanza/adapter/receiver.go +++ b/pkg/stanza/adapter/receiver.go @@ -21,10 +21,11 @@ import ( ) type receiver struct { - set component.TelemetrySettings - id component.ID - wg sync.WaitGroup - cancel context.CancelFunc + set component.TelemetrySettings + id component.ID + emitWg sync.WaitGroup + consumeWg sync.WaitGroup + cancel context.CancelFunc pipe pipeline.Pipeline emitter *helper.LogEmitter @@ -59,13 +60,13 @@ func (r *receiver) Start(ctx context.Context, host component.Host) error { // * one which reads all the logs produced by the emitter and then forwards // them to converter // ... - r.wg.Add(1) - go r.emitterLoop(rctx) + r.emitWg.Add(1) + go r.emitterLoop() // ... // * second one which reads all the logs produced by the converter - // (aggregated by Resource) and then calls consumer to consumer them. - r.wg.Add(1) + // (aggregated by Resource) and then calls consumer to consume them. + r.consumeWg.Add(1) go r.consumerLoop(rctx) // Those 2 loops are started in separate goroutines because batching in @@ -80,56 +81,40 @@ func (r *receiver) Start(ctx context.Context, host component.Host) error { // emitterLoop reads the log entries produced by the emitter and batches them // in converter. -func (r *receiver) emitterLoop(ctx context.Context) { - defer r.wg.Done() +func (r *receiver) emitterLoop() { + defer r.emitWg.Done() // Don't create done channel on every iteration. - doneChan := ctx.Done() - for { - select { - case <-doneChan: - r.set.Logger.Debug("Receive loop stopped") - return - - case e, ok := <-r.emitter.OutChannel(): - if !ok { - continue - } - - if err := r.converter.Batch(e); err != nil { - r.set.Logger.Error("Could not add entry to batch", zap.Error(err)) - } + // emitter.OutChannel is closed on ctx.Done(), no need to handle ctx here + // instead we should drain and process the channel to let emitter cancel properly + for e := range r.emitter.OutChannel() { + if err := r.converter.Batch(e); err != nil { + r.set.Logger.Error("Could not add entry to batch", zap.Error(err)) } } + + r.set.Logger.Debug("Emitter loop stopped") } // consumerLoop reads converter log entries and calls the consumer to consumer them. func (r *receiver) consumerLoop(ctx context.Context) { - defer r.wg.Done() + defer r.consumeWg.Done() // Don't create done channel on every iteration. - doneChan := ctx.Done() - pLogsChan := r.converter.OutChannel() - for { - select { - case <-doneChan: - r.set.Logger.Debug("Consumer loop stopped") - return - - case pLogs, ok := <-pLogsChan: - if !ok { - r.set.Logger.Debug("Converter channel got closed") - continue - } - obsrecvCtx := r.obsrecv.StartLogsOp(ctx) - logRecordCount := pLogs.LogRecordCount() - cErr := r.consumer.ConsumeLogs(ctx, pLogs) - if cErr != nil { - r.set.Logger.Error("ConsumeLogs() failed", zap.Error(cErr)) - } - r.obsrecv.EndLogsOp(obsrecvCtx, "stanza", logRecordCount, cErr) + // converter.OutChannel is closed on Shutdown before context is cancelled. + // Drain the channel and process events before exiting + for pLogs := range r.converter.OutChannel() { + obsrecvCtx := r.obsrecv.StartLogsOp(ctx) + logRecordCount := pLogs.LogRecordCount() + + cErr := r.consumer.ConsumeLogs(ctx, pLogs) + if cErr != nil { + r.set.Logger.Error("ConsumeLogs() failed", zap.Error(cErr)) } + r.obsrecv.EndLogsOp(obsrecvCtx, "stanza", logRecordCount, cErr) } + + r.set.Logger.Debug("Consumer loop stopped") } // Shutdown is invoked during service shutdown @@ -140,9 +125,14 @@ func (r *receiver) Shutdown(ctx context.Context) error { r.set.Logger.Info("Stopping stanza receiver") pipelineErr := r.pipe.Stop() + + // wait for emitter to finish batching and let consumers catch up + r.emitWg.Wait() + r.converter.Stop() r.cancel() - r.wg.Wait() + // wait for consumers to catch up + r.consumeWg.Wait() if r.storageClient != nil { clientErr := r.storageClient.Close(ctx) diff --git a/pkg/stanza/adapter/receiver_test.go b/pkg/stanza/adapter/receiver_test.go index e387fca58add..a5349a479866 100644 --- a/pkg/stanza/adapter/receiver_test.go +++ b/pkg/stanza/adapter/receiver_test.go @@ -8,13 +8,18 @@ import ( "fmt" "os" "path/filepath" + "sync/atomic" "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/consumertest" + "go.opentelemetry.io/collector/pdata/plog" + "go.opentelemetry.io/collector/receiver/receiverhelper" "go.opentelemetry.io/collector/receiver/receivertest" "gopkg.in/yaml.v2" @@ -31,7 +36,7 @@ func TestStart(t *testing.T) { factory := NewFactory(TestReceiverType{}, component.StabilityLevelDevelopment) - logsReceiver, err := factory.CreateLogsReceiver( + logsReceiver, err := factory.CreateLogs( context.Background(), receivertest.NewNopSettings(), factory.CreateDefaultConfig(), @@ -64,7 +69,7 @@ func TestHandleStartError(t *testing.T) { cfg := factory.CreateDefaultConfig().(*TestConfig) cfg.Input = NewUnstartableConfig() - receiver, err := factory.CreateLogsReceiver(context.Background(), receivertest.NewNopSettings(), cfg, mockConsumer) + receiver, err := factory.CreateLogs(context.Background(), receivertest.NewNopSettings(), cfg, mockConsumer) require.NoError(t, err, "receiver should successfully build") err = receiver.Start(context.Background(), componenttest.NewNopHost()) @@ -75,7 +80,7 @@ func TestHandleConsume(t *testing.T) { mockConsumer := &consumertest.LogsSink{} factory := NewFactory(TestReceiverType{}, component.StabilityLevelDevelopment) - logsReceiver, err := factory.CreateLogsReceiver(context.Background(), receivertest.NewNopSettings(), factory.CreateDefaultConfig(), mockConsumer) + logsReceiver, err := factory.CreateLogs(context.Background(), receivertest.NewNopSettings(), factory.CreateDefaultConfig(), mockConsumer) require.NoError(t, err, "receiver should successfully build") err = logsReceiver.Start(context.Background(), componenttest.NewNopHost()) @@ -102,7 +107,7 @@ func TestHandleConsumeRetry(t *testing.T) { cfg := factory.CreateDefaultConfig() cfg.(*TestConfig).BaseConfig.RetryOnFailure.Enabled = true cfg.(*TestConfig).BaseConfig.RetryOnFailure.InitialInterval = 10 * time.Millisecond - logsReceiver, err := factory.CreateLogsReceiver(context.Background(), receivertest.NewNopSettings(), cfg, mockConsumer) + logsReceiver, err := factory.CreateLogs(context.Background(), receivertest.NewNopSettings(), cfg, mockConsumer) require.NoError(t, err, "receiver should successfully build") require.NoError(t, logsReceiver.Start(context.Background(), componenttest.NewNopHost())) @@ -120,6 +125,144 @@ func TestHandleConsumeRetry(t *testing.T) { require.NoError(t, logsReceiver.Shutdown(context.Background())) } +func TestShutdownFlush(t *testing.T) { + mockConsumer := &consumertest.LogsSink{} + factory := NewFactory(TestReceiverType{}, component.StabilityLevelDevelopment) + + logsReceiver, err := factory.CreateLogs(context.Background(), receivertest.NewNopSettings(), factory.CreateDefaultConfig(), mockConsumer) + require.NoError(t, err, "receiver should successfully build") + + err = logsReceiver.Start(context.Background(), componenttest.NewNopHost()) + require.NoError(t, err, "receiver start failed") + + var consumedLogCount atomic.Int32 + closeCh := make(chan struct{}) + stanzaReceiver := logsReceiver.(*receiver) + go func() { + for { + select { + case <-closeCh: + assert.NoError(t, logsReceiver.Shutdown(context.Background())) + fmt.Println(">> Shutdown called") + return + default: + err := stanzaReceiver.emitter.Process(context.Background(), entry.New()) + assert.NoError(t, err) + } + consumedLogCount.Add(1) + } + }() + require.Eventually(t, func() bool { + return consumedLogCount.Load() > 100 + }, 5*time.Second, 5*time.Millisecond) + + close(closeCh) + + // Eventually because of asynchronuous nature of the receiver. + require.EventuallyWithT(t, + func(t *assert.CollectT) { + assert.Equal(t, consumedLogCount.Load(), int32(mockConsumer.LogRecordCount())) + }, + 2*time.Second, 5*time.Millisecond, + ) +} + +func BenchmarkReceiver(b *testing.B) { + b.Run( + "1 Log entry per iteration", + func(b *testing.B) { + benchmarkReceiver(b, 1) + }, + ) + b.Run( + "10 Log entries per iteration", + func(b *testing.B) { + benchmarkReceiver(b, 10) + }, + ) + b.Run( + "100 Log entries per iteration", + func(b *testing.B) { + benchmarkReceiver(b, 100) + }, + ) + b.Run( + "1_000 Log entries per iteration", + func(b *testing.B) { + benchmarkReceiver(b, 1_000) + }, + ) + b.Run( + "10_000 Log entries per iteration", + func(b *testing.B) { + benchmarkReceiver(b, 10_000) + }, + ) +} + +func benchmarkReceiver(b *testing.B, logsPerIteration int) { + iterationComplete := make(chan struct{}) + nextIteration := make(chan struct{}) + + inputBuilder := &testInputBuilder{ + numberOfLogEntries: logsPerIteration, + nextIteration: nextIteration, + } + inputCfg := operator.Config{ + Builder: inputBuilder, + } + + set := componenttest.NewNopTelemetrySettings() + emitter := helper.NewLogEmitter(set) + defer func() { + require.NoError(b, emitter.Stop()) + }() + + pipe, err := pipeline.Config{ + Operators: []operator.Config{inputCfg}, + DefaultOutput: emitter, + }.Build(set) + require.NoError(b, err) + + storageClient := storagetest.NewInMemoryClient( + component.KindReceiver, + component.MustNewID("foolog"), + "test", + ) + + converter := NewConverter(set) + + obsrecv, err := receiverhelper.NewObsReport(receiverhelper.ObsReportSettings{ReceiverCreateSettings: receivertest.NewNopSettings()}) + require.NoError(b, err) + + mockConsumer := &testConsumer{ + receivedAllLogs: iterationComplete, + expectedLogs: uint32(logsPerIteration), + receivedLogs: atomic.Uint32{}, + } + rcv := &receiver{ + set: set, + pipe: pipe, + emitter: emitter, + consumer: mockConsumer, + converter: converter, + obsrecv: obsrecv, + storageClient: storageClient, + } + + b.ResetTimer() + + require.NoError(b, rcv.Start(context.Background(), nil)) + + for i := 0; i < b.N; i++ { + nextIteration <- struct{}{} + <-iterationComplete + mockConsumer.receivedLogs.Store(0) + } + + require.NoError(b, rcv.Shutdown(context.Background())) +} + func BenchmarkReadLine(b *testing.B) { filePath := filepath.Join(b.TempDir(), "bench.log") @@ -237,3 +380,94 @@ func BenchmarkParseAndMap(b *testing.B) { } } } + +const testInputOperatorTypeStr = "test_input" + +type testInputBuilder struct { + numberOfLogEntries int + nextIteration chan struct{} +} + +func (t *testInputBuilder) ID() string { + return testInputOperatorTypeStr +} + +func (t *testInputBuilder) Type() string { + return testInputOperatorTypeStr +} + +func (t *testInputBuilder) Build(settings component.TelemetrySettings) (operator.Operator, error) { + inputConfig := helper.NewInputConfig(t.ID(), testInputOperatorTypeStr) + inputOperator, err := inputConfig.Build(settings) + if err != nil { + return nil, err + } + + return &testInputOperator{ + InputOperator: inputOperator, + numberOfLogEntries: t.numberOfLogEntries, + nextIteration: t.nextIteration, + }, nil +} + +func (t *testInputBuilder) SetID(_ string) {} + +var _ operator.Operator = &testInputOperator{} + +type testInputOperator struct { + helper.InputOperator + numberOfLogEntries int + nextIteration chan struct{} + cancelFunc context.CancelFunc +} + +func (t *testInputOperator) ID() string { + return testInputOperatorTypeStr +} + +func (t *testInputOperator) Type() string { + return testInputOperatorTypeStr +} + +func (t *testInputOperator) Start(_ operator.Persister) error { + ctx, cancelFunc := context.WithCancel(context.Background()) + t.cancelFunc = cancelFunc + + e := complexEntry() + go func() { + for { + select { + case <-t.nextIteration: + for i := 0; i < t.numberOfLogEntries; i++ { + _ = t.Write(context.Background(), e) + } + case <-ctx.Done(): + return + } + } + + }() + return nil +} + +func (t *testInputOperator) Stop() error { + t.cancelFunc() + return nil +} + +type testConsumer struct { + receivedAllLogs chan struct{} + expectedLogs uint32 + receivedLogs atomic.Uint32 +} + +func (t *testConsumer) Capabilities() consumer.Capabilities { + return consumer.Capabilities{} +} + +func (t *testConsumer) ConsumeLogs(_ context.Context, ld plog.Logs) error { + if t.receivedLogs.Add(uint32(ld.LogRecordCount())) >= t.expectedLogs { + t.receivedAllLogs <- struct{}{} + } + return nil +} diff --git a/pkg/stanza/adapter/storage_test.go b/pkg/stanza/adapter/storage_test.go index f5806e00cdef..3e5f96a31309 100644 --- a/pkg/stanza/adapter/storage_test.go +++ b/pkg/stanza/adapter/storage_test.go @@ -113,7 +113,7 @@ func createReceiver(t *testing.T, storageID component.ID) *receiver { factory := NewFactory(TestReceiverType{}, component.StabilityLevelDevelopment) - logsReceiver, err := factory.CreateLogsReceiver( + logsReceiver, err := factory.CreateLogs( context.Background(), params, factory.CreateDefaultConfig(), diff --git a/pkg/stanza/docs/operators/severity_parser.md b/pkg/stanza/docs/operators/severity_parser.md index d9f256ac6152..c78f133a0900 100644 --- a/pkg/stanza/docs/operators/severity_parser.md +++ b/pkg/stanza/docs/operators/severity_parser.md @@ -4,16 +4,16 @@ The `severity_parser` operator sets the severity on an entry by parsing a value ### Configuration Fields -| Field | Default | Description | -| --- | --- | --- | -| `id` | `severity_parser` | A unique identifier for the operator. | -| `output` | Next in pipeline | The `id` for the operator to send parsed entries to. | -| `parse_from` | required | The [field](../types/field.md) from which the value will be parsed. | -| `on_error` | `send` | The behavior of the operator if it encounters an error. See [on_error](../types/on_error.md). | -| `preset` | `default` | A predefined set of values that should be interpreted at specific severity levels. | -| `mapping` | | A formatted set of values that should be interpreted as severity levels. | -| `if` | | An [expression](../types/expression.md) that, when set, will be evaluated to determine whether this operator should be used for the given entry. This allows you to do easy conditional parsing without branching logic with routers. | - +| Field | Default | Description | +| --- | --- | --- | +| `id` | `severity_parser` | A unique identifier for the operator. | +| `output` | Next in pipeline | The `id` for the operator to send parsed entries to. | +| `parse_from` | required | The [field](../types/field.md) from which the value will be parsed. | +| `on_error` | `send` | The behavior of the operator if it encounters an error. See [on_error](../types/on_error.md). | +| `preset` | `default` | A predefined set of values that should be interpreted at specific severity levels. | +| `mapping` | | A formatted set of values that should be interpreted as severity levels. | +| `overwrite_with` | `false` | If `true`, the severity text will be set to the [standard short name](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#displaying-severity) corresponding to the severity number. | +| `if` | | An [expression](../types/expression.md) that, when set, will be evaluated to determine whether this operator should be used for the given entry. This allows you to do easy conditional parsing without branching logic with routers. | ### Example Configurations diff --git a/pkg/stanza/docs/operators/windows_eventlog_input.md b/pkg/stanza/docs/operators/windows_eventlog_input.md index 94e791289520..792fdbc11404 100644 --- a/pkg/stanza/docs/operators/windows_eventlog_input.md +++ b/pkg/stanza/docs/operators/windows_eventlog_input.md @@ -12,6 +12,8 @@ The `windows_eventlog_input` operator reads logs from the windows event log API. | `max_reads` | 100 | The maximum number of bodies read into memory, before beginning a new batch. | | `start_at` | `end` | On first startup, where to start reading logs from the API. Options are `beginning` or `end`. | | `poll_interval` | 1s | The interval at which the channel is checked for new log entries. This check begins again after all new bodies have been read. | +| `raw` | false | If false, the body of emitted log records will contain a structured representation of the event. Otherwise, the body will be the original XML string. | +| `suppress_rendering_info` | false | If false, [additional syscalls](https://learn.microsoft.com/en-us/windows/win32/api/winevt/nf-winevt-evtformatmessage#remarks) may be made to retrieve detailed information about the event. Otherwise, some unresolved values may be present in the event. | | `attributes` | {} | A map of `key: value` pairs to add to the entry's attributes. | | `resource` | {} | A map of `key: value` pairs to add to the entry's resource. | diff --git a/pkg/stanza/docs/types/field.md b/pkg/stanza/docs/types/field.md index 35f54be3bc9b..b6fb313b8c6d 100644 --- a/pkg/stanza/docs/types/field.md +++ b/pkg/stanza/docs/types/field.md @@ -1,6 +1,6 @@ ## Fields -A _Field_ is a reference to a value in a log [entry](../types/field.md). +A _Field_ is a reference to a value in a log [entry](../types/entry.md). Many [operators](../operators/README.md) use fields in their configurations. For example, parsers use fields to specify which value to parse and where to write a new value. diff --git a/pkg/stanza/docs/types/severity.md b/pkg/stanza/docs/types/severity.md index d3b2657e3268..b0a67d6c46e5 100644 --- a/pkg/stanza/docs/types/severity.md +++ b/pkg/stanza/docs/types/severity.md @@ -8,12 +8,14 @@ Severity is represented as a number from 1 to 24. The meaning of these severity Parser operators can parse a severity and attach the resulting value to a log entry. -| Field | Default | Description | -| --- | --- | --- | -| `parse_from` | required | The [field](../types/field.md) from which the value will be parsed. | -| `preset` | `default` | A predefined set of values that should be interpretted at specific severity levels. | -| `mapping` | | A custom set of values that should be interpretted at designated severity levels. | - +| Field | Default | Description | +| --- | --- | --- | +| `parse_from` | required | The [field](../types/field.md) from which the value will be parsed. | +| `preset` | `default` | A predefined set of values that should be interpretted at specific severity levels. | +| `mapping` | | A custom set of values that should be interpretted at designated severity levels. | +| `overwrite_with` | `false` | If `true`, the severity text will be set to the [recommeneded short name](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#displaying-severity) corresponding to the severity number. | + +Note that by default the severity _text_ will be set to the original value which was interpreted into a severity number. In order to set the severity text to a standard short name (e.g. `ERROR`, `INFO3`, etc.), set `overwrite_with` to `true`. ### How severity `mapping` works diff --git a/pkg/stanza/entry/attribute_field_test.go b/pkg/stanza/entry/attribute_field_test.go index ade5c61bd999..ad55479d4279 100644 --- a/pkg/stanza/entry/attribute_field_test.go +++ b/pkg/stanza/entry/attribute_field_test.go @@ -460,13 +460,11 @@ func TestAttributeFieldUnmarshalFailure(t *testing.T) { t.Run(tc.name, func(t *testing.T) { var fy AttributeField err := yaml.UnmarshalStrict(tc.invalid, &fy) - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) var fj AttributeField err = json.Unmarshal(tc.invalid, &fj) - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) }) } } diff --git a/pkg/stanza/entry/body_field_test.go b/pkg/stanza/entry/body_field_test.go index 66100bb33adf..48238eda3a25 100644 --- a/pkg/stanza/entry/body_field_test.go +++ b/pkg/stanza/entry/body_field_test.go @@ -386,13 +386,11 @@ func TestBodyFieldUnmarshalFailure(t *testing.T) { t.Run(tc.name, func(t *testing.T) { var fy BodyField err := yaml.UnmarshalStrict(tc.invalid, &fy) - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) var fj BodyField err = json.Unmarshal(tc.invalid, &fj) - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) }) } } diff --git a/pkg/stanza/entry/entry_test.go b/pkg/stanza/entry/entry_test.go index 1486ad1ace75..8d944156d947 100644 --- a/pkg/stanza/entry/entry_test.go +++ b/pkg/stanza/entry/entry_test.go @@ -275,8 +275,7 @@ func TestReadToInterfaceMapWithMissingField(t *testing.T) { field := NewAttributeField("label") dest := map[string]any{} err := entry.readToInterfaceMap(field, &dest) - require.Error(t, err) - require.Contains(t, err.Error(), "can not be read as a map[string]any") + require.ErrorContains(t, err, "can not be read as a map[string]any") } func TestReadToStringMapWithMissingField(t *testing.T) { @@ -284,8 +283,7 @@ func TestReadToStringMapWithMissingField(t *testing.T) { field := NewAttributeField("label") dest := map[string]string{} err := entry.readToStringMap(field, &dest) - require.Error(t, err) - require.Contains(t, err.Error(), "can not be read as a map[string]string") + require.ErrorContains(t, err, "can not be read as a map[string]string") } func TestReadToInterfaceMissingField(t *testing.T) { @@ -293,8 +291,7 @@ func TestReadToInterfaceMissingField(t *testing.T) { field := NewAttributeField("label") var dest any err := entry.readToInterface(field, &dest) - require.Error(t, err) - require.Contains(t, err.Error(), "can not be read as a any") + require.ErrorContains(t, err, "can not be read as a any") } func TestDefaultTimestamps(t *testing.T) { diff --git a/pkg/stanza/entry/field_test.go b/pkg/stanza/entry/field_test.go index f07c4c3b45de..617b812790dc 100644 --- a/pkg/stanza/entry/field_test.go +++ b/pkg/stanza/entry/field_test.go @@ -143,13 +143,11 @@ func TestFieldUnmarshalJSON(t *testing.T) { switch { case tc.expectedErrRootable != "": - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) require.Error(t, errRootable) require.Contains(t, errRootable.Error(), tc.expectedErrRootable) case tc.expectedErr != "": - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) require.NoError(t, errRootable) require.Equal(t, tc.expected, rootableField.Field) default: @@ -233,8 +231,7 @@ func TestFieldUnmarshalYAMLFailure(t *testing.T) { t.Run(tc.name, func(t *testing.T) { var f Field err := yaml.UnmarshalStrict(tc.input, &f) - require.Error(t, err) - require.Contains(t, err.Error(), tc.expected) + require.ErrorContains(t, err, tc.expected) }) } } @@ -284,8 +281,7 @@ func TestFromJSONDot(t *testing.T) { func TestFieldFromStringInvalidSplit(t *testing.T) { _, err := NewField("resource[test]") - require.Error(t, err) - require.Contains(t, err.Error(), "splitting field") + require.ErrorContains(t, err, "splitting field") } func TestFieldFromStringWithResource(t *testing.T) { diff --git a/pkg/stanza/entry/resource_field_test.go b/pkg/stanza/entry/resource_field_test.go index 6dbe6c499699..75a4f95c2a00 100644 --- a/pkg/stanza/entry/resource_field_test.go +++ b/pkg/stanza/entry/resource_field_test.go @@ -460,13 +460,11 @@ func TestResourceFieldUnmarshalFailure(t *testing.T) { t.Run(tc.name, func(t *testing.T) { var fy ResourceField err := yaml.UnmarshalStrict(tc.invalid, &fy) - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) var fj ResourceField err = json.Unmarshal(tc.invalid, &fj) - require.Error(t, err) - require.Contains(t, err.Error(), tc.expectedErr) + require.ErrorContains(t, err, tc.expectedErr) }) } } diff --git a/pkg/stanza/fileconsumer/benchmark_test.go b/pkg/stanza/fileconsumer/benchmark_test.go index efa410b77920..c470fa50e17c 100644 --- a/pkg/stanza/fileconsumer/benchmark_test.go +++ b/pkg/stanza/fileconsumer/benchmark_test.go @@ -12,6 +12,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" @@ -210,12 +211,12 @@ func BenchmarkFileInput(b *testing.B) { // Write the other half of the content while running for i := 0; i < b.N/2; i++ { _, err := f.WriteString(severalLines) - require.NoError(b, err) + assert.NoError(b, err) } // Signal end of file _, err := f.WriteString("\n") - require.NoError(b, err) - require.NoError(b, f.Sync()) + assert.NoError(b, err) + assert.NoError(b, f.Sync()) }(file) } diff --git a/pkg/stanza/fileconsumer/config.go b/pkg/stanza/fileconsumer/config.go index 967e4d683daf..bd0daf2d3e40 100644 --- a/pkg/stanza/fileconsumer/config.go +++ b/pkg/stanza/fileconsumer/config.go @@ -25,7 +25,6 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/metadata" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/reader" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/scanner" - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/tracker" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/matcher" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/helper" @@ -87,6 +86,7 @@ type Config struct { DeleteAfterRead bool `mapstructure:"delete_after_read,omitempty"` IncludeFileRecordNumber bool `mapstructure:"include_file_record_number,omitempty"` Compression string `mapstructure:"compression,omitempty"` + PollsToArchive int `mapstructure:"-"` // TODO: activate this config once archiving is set up AcquireFSLock bool `mapstructure:"acquire_fs_lock,omitempty"` } @@ -174,13 +174,6 @@ func (c Config) Build(set component.TelemetrySettings, emit emit.Callback, opts AcquireFSLock: c.AcquireFSLock, } - var t tracker.Tracker - if o.noTracking { - t = tracker.NewNoStateTracker(set, c.MaxConcurrentFiles/2) - } else { - t = tracker.NewFileTracker(set, c.MaxConcurrentFiles/2) - } - telemetryBuilder, err := metadata.NewTelemetryBuilder(set) if err != nil { return nil, err @@ -192,8 +185,8 @@ func (c Config) Build(set component.TelemetrySettings, emit emit.Callback, opts pollInterval: c.PollInterval, maxBatchFiles: c.MaxConcurrentFiles / 2, maxBatches: c.MaxBatches, - tracker: t, telemetryBuilder: telemetryBuilder, + noTracking: o.noTracking, }, nil } @@ -210,7 +203,7 @@ func (c Config) validate() error { return fmt.Errorf("'max_log_size' must be positive") } - if c.MaxConcurrentFiles <= 1 { + if c.MaxConcurrentFiles < 1 { return fmt.Errorf("'max_concurrent_files' must be positive") } diff --git a/pkg/stanza/fileconsumer/config_test.go b/pkg/stanza/fileconsumer/config_test.go index 145c43491266..bd3254870d04 100644 --- a/pkg/stanza/fileconsumer/config_test.go +++ b/pkg/stanza/fileconsumer/config_test.go @@ -13,7 +13,6 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/featuregate" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/emittest" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/fingerprint" @@ -724,11 +723,6 @@ func TestBuildWithSplitFunc(t *testing.T) { } func TestBuildWithHeader(t *testing.T) { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), true)) - t.Cleanup(func() { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), false)) - }) - basicConfig := func() *Config { cfg := NewConfig() cfg.Include = []string{"/var/log/testpath.*"} diff --git a/pkg/stanza/fileconsumer/file.go b/pkg/stanza/fileconsumer/file.go index d46507ecf3eb..c5675a90a063 100644 --- a/pkg/stanza/fileconsumer/file.go +++ b/pkg/stanza/fileconsumer/file.go @@ -30,11 +30,13 @@ type Manager struct { readerFactory reader.Factory fileMatcher *matcher.Matcher tracker tracker.Tracker + noTracking bool - pollInterval time.Duration - persister operator.Persister - maxBatches int - maxBatchFiles int + pollInterval time.Duration + persister operator.Persister + maxBatches int + maxBatchFiles int + pollsToArchive int telemetryBuilder *metadata.TelemetryBuilder } @@ -47,6 +49,9 @@ func (m *Manager) Start(persister operator.Persister) error { m.set.Logger.Warn("finding files", zap.Error(err)) } + // instantiate the tracker + m.instantiateTracker(persister) + if persister != nil { m.persister = persister offsets, err := checkpoint.Load(ctx, m.persister) @@ -58,6 +63,8 @@ func (m *Manager) Start(persister operator.Persister) error { m.readerFactory.FromBeginning = true m.tracker.LoadMetadata(offsets) } + } else if m.pollsToArchive > 0 { + m.set.Logger.Error("archiving is not supported in memory, please use a storage extension") } // Start polling goroutine @@ -73,7 +80,9 @@ func (m *Manager) Stop() error { m.cancel = nil } m.wg.Wait() - m.telemetryBuilder.FileconsumerOpenFiles.Add(context.TODO(), int64(0-m.tracker.ClosePreviousFiles())) + if m.tracker != nil { + m.telemetryBuilder.FileconsumerOpenFiles.Add(context.TODO(), int64(0-m.tracker.ClosePreviousFiles())) + } if m.persister != nil { if err := checkpoint.Save(context.Background(), m.persister, m.tracker.GetMetadata()); err != nil { m.set.Logger.Error("save offsets", zap.Error(err)) @@ -261,3 +270,13 @@ func (m *Manager) newReader(ctx context.Context, file *os.File, fp *fingerprint. m.telemetryBuilder.FileconsumerOpenFiles.Add(ctx, 1) return r, nil } + +func (m *Manager) instantiateTracker(persister operator.Persister) { + var t tracker.Tracker + if m.noTracking { + t = tracker.NewNoStateTracker(m.set, m.maxBatchFiles) + } else { + t = tracker.NewFileTracker(m.set, m.maxBatchFiles, m.pollsToArchive, persister) + } + m.tracker = t +} diff --git a/pkg/stanza/fileconsumer/file_test.go b/pkg/stanza/fileconsumer/file_test.go index b04968a0d5f4..50cad57e821a 100644 --- a/pkg/stanza/fileconsumer/file_test.go +++ b/pkg/stanza/fileconsumer/file_test.go @@ -152,7 +152,7 @@ func TestReadUsingNopEncoding(t *testing.T) { // Create a file, then start temp := filetest.OpenTemp(t, tempDir) bytesWritten, err := temp.Write(tc.input) - require.Greater(t, bytesWritten, 0) + require.Positive(t, bytesWritten) require.NoError(t, err) require.NoError(t, operator.Start(testutil.NewUnscopedMockPersister())) defer func() { @@ -236,7 +236,7 @@ func TestNopEncodingDifferentLogSizes(t *testing.T) { // Create a file, then start temp := filetest.OpenTemp(t, tempDir) bytesWritten, err := temp.Write(tc.input) - require.Greater(t, bytesWritten, 0) + require.Positive(t, bytesWritten) require.NoError(t, err) require.NoError(t, operator.Start(testutil.NewUnscopedMockPersister())) defer func() { @@ -1151,11 +1151,6 @@ func TestMaxBatching(t *testing.T) { // TestReadExistingLogsWithHeader tests that, when starting from beginning, we // read all the lines that are already there, and parses the headers func TestReadExistingLogsWithHeader(t *testing.T) { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), true)) - t.Cleanup(func() { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), false)) - }) - tempDir := t.TempDir() cfg := NewConfig().includeDir(tempDir) cfg.StartAt = "beginning" @@ -1247,11 +1242,6 @@ func TestDeleteAfterRead_SkipPartials(t *testing.T) { } func TestHeaderPersistance(t *testing.T) { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), true)) - t.Cleanup(func() { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), false)) - }) - tempDir := t.TempDir() cfg := NewConfig().includeDir(tempDir) cfg.StartAt = "beginning" @@ -1287,11 +1277,6 @@ func TestHeaderPersistance(t *testing.T) { } func TestHeaderPersistanceInHeader(t *testing.T) { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), true)) - t.Cleanup(func() { - require.NoError(t, featuregate.GlobalRegistry().Set(AllowHeaderMetadataParsing.ID(), false)) - }) - tempDir := t.TempDir() cfg1 := NewConfig().includeDir(tempDir) cfg1.StartAt = "beginning" @@ -1340,7 +1325,7 @@ func TestStalePartialFingerprintDiscarded(t *testing.T) { file1 := filetest.OpenTempWithPattern(t, tempDir, "*.log1") file2 := filetest.OpenTempWithPattern(t, tempDir, "*.log2") - // Two same fingerprint file , and smaller than config size + // Two same fingerprint file , and smaller than config size content := "aaaaaaaaaaa" filetest.WriteString(t, file1, content+"\n") filetest.WriteString(t, file2, content+"\n") @@ -1435,7 +1420,7 @@ func TestNoLostPartial(t *testing.T) { operator, sink := testManager(t, cfg) operator.persister = testutil.NewMockPersister("test") - // Two same fingerprint file , and smaller than config size + // Two same fingerprint file , and smaller than config size file1 := filetest.OpenTempWithPattern(t, tempDir, "*.log1") file2 := filetest.OpenTempWithPattern(t, tempDir, "*.log2") @@ -1598,3 +1583,78 @@ func TestReadGzipCompressedLogsFromEnd(t *testing.T) { operator.poll(context.TODO()) sink.ExpectToken(t, []byte("testlog4")) } + +func TestIncludeFileRecordNumber(t *testing.T) { + t.Parallel() + + tempDir := t.TempDir() + cfg := NewConfig().includeDir(tempDir) + cfg.StartAt = "beginning" + cfg.IncludeFileRecordNumber = true + operator, sink := testManager(t, cfg) + + // Create a file, then start + temp := filetest.OpenTemp(t, tempDir) + filetest.WriteString(t, temp, "testlog1\n") + + require.NoError(t, operator.Start(testutil.NewUnscopedMockPersister())) + defer func() { + require.NoError(t, operator.Stop()) + }() + + sink.ExpectCall(t, []byte("testlog1"), map[string]any{ + attrs.LogFileName: filepath.Base(temp.Name()), + attrs.LogFileRecordNumber: int64(1), + }) +} + +func TestIncludeFileRecordNumberWithHeaderConfigured(t *testing.T) { + t.Parallel() + + tempDir := t.TempDir() + cfg := NewConfig().includeDir(tempDir) + cfg.StartAt = "beginning" + cfg.IncludeFileRecordNumber = true + cfg = cfg.withHeader("^#", "(?P[A-z]+)") + operator, sink := testManager(t, cfg) + + // Create a file, then start + temp := filetest.OpenTemp(t, tempDir) + filetest.WriteString(t, temp, "#abc\n#xyz: headerValue2\ntestlog1\n") + + require.NoError(t, operator.Start(testutil.NewUnscopedMockPersister())) + defer func() { + require.NoError(t, operator.Stop()) + }() + + sink.ExpectCall(t, []byte("testlog1"), map[string]any{ + attrs.LogFileName: filepath.Base(temp.Name()), + attrs.LogFileRecordNumber: int64(1), + "header_attr": "xyz", + }) +} + +func TestIncludeFileRecordNumberWithHeaderConfiguredButMissing(t *testing.T) { + t.Parallel() + + tempDir := t.TempDir() + cfg := NewConfig().includeDir(tempDir) + cfg.StartAt = "beginning" + cfg.IncludeFileRecordNumber = true + cfg = cfg.withHeader("^#", "(?P[A-z]+): (?P[A-z]+)") + operator, sink := testManager(t, cfg) + + // Create a file, then start + temp := filetest.OpenTemp(t, tempDir) + filetest.WriteString(t, temp, "testlog1\n") + + require.NoError(t, operator.Start(testutil.NewUnscopedMockPersister())) + defer func() { + require.NoError(t, operator.Stop()) + }() + + sink.ExpectCall(t, []byte("testlog1"), map[string]any{ + attrs.LogFileName: filepath.Base(temp.Name()), + attrs.LogFileRecordNumber: int64(1), + }) +} diff --git a/pkg/stanza/fileconsumer/internal/checkpoint/checkpoint.go b/pkg/stanza/fileconsumer/internal/checkpoint/checkpoint.go index b75933abcc28..b9476fb3d5e9 100644 --- a/pkg/stanza/fileconsumer/internal/checkpoint/checkpoint.go +++ b/pkg/stanza/fileconsumer/internal/checkpoint/checkpoint.go @@ -18,6 +18,10 @@ const knownFilesKey = "knownFiles" // Save syncs the most recent set of files to the database func Save(ctx context.Context, persister operator.Persister, rmds []*reader.Metadata) error { + return SaveKey(ctx, persister, rmds, knownFilesKey) +} + +func SaveKey(ctx context.Context, persister operator.Persister, rmds []*reader.Metadata, key string) error { var buf bytes.Buffer enc := json.NewEncoder(&buf) @@ -34,7 +38,7 @@ func Save(ctx context.Context, persister operator.Persister, rmds []*reader.Meta } } - if err := persister.Set(ctx, knownFilesKey, buf.Bytes()); err != nil { + if err := persister.Set(ctx, key, buf.Bytes()); err != nil { errs = append(errs, fmt.Errorf("persist known files: %w", err)) } diff --git a/pkg/stanza/fileconsumer/internal/emittest/sink.go b/pkg/stanza/fileconsumer/internal/emittest/sink.go index c836e41fd40b..44d265c9af5d 100644 --- a/pkg/stanza/fileconsumer/internal/emittest/sink.go +++ b/pkg/stanza/fileconsumer/internal/emittest/sink.go @@ -119,7 +119,7 @@ func (s *Sink) ExpectTokens(t *testing.T, expected ...[]byte) { return } } - require.ElementsMatch(t, expected, actual, fmt.Sprintf("expected: %v, actual: %v", expected, actual)) + require.ElementsMatchf(t, expected, actual, "expected: %v, actual: %v", expected, actual) } func (s *Sink) ExpectCall(t *testing.T, expected []byte, attrs map[string]any) { diff --git a/pkg/stanza/fileconsumer/internal/emittest/sink_test.go b/pkg/stanza/fileconsumer/internal/emittest/sink_test.go index 326400b7e3e8..2cea011e7518 100644 --- a/pkg/stanza/fileconsumer/internal/emittest/sink_test.go +++ b/pkg/stanza/fileconsumer/internal/emittest/sink_test.go @@ -202,7 +202,7 @@ func sinkTest(t *testing.T, opts ...SinkOpt) (*Sink, []*Call) { } go func() { for _, c := range testCalls { - require.NoError(t, s.Callback(context.Background(), c.Token, c.Attrs)) + assert.NoError(t, s.Callback(context.Background(), c.Token, c.Attrs)) } }() return s, testCalls diff --git a/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry.go b/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry.go index a856257fda86..cdd67bd68a3e 100644 --- a/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry.go +++ b/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry.go @@ -34,15 +34,23 @@ type TelemetryBuilder struct { meters map[configtelemetry.Level]metric.Meter } -// telemetryBuilderOption applies changes to default builder. -type telemetryBuilderOption func(*TelemetryBuilder) +// TelemetryBuilderOption applies changes to default builder. +type TelemetryBuilderOption interface { + apply(*TelemetryBuilder) +} + +type telemetryBuilderOptionFunc func(mb *TelemetryBuilder) + +func (tbof telemetryBuilderOptionFunc) apply(mb *TelemetryBuilder) { + tbof(mb) +} // NewTelemetryBuilder provides a struct with methods to update all internal telemetry // for a component -func NewTelemetryBuilder(settings component.TelemetrySettings, options ...telemetryBuilderOption) (*TelemetryBuilder, error) { +func NewTelemetryBuilder(settings component.TelemetrySettings, options ...TelemetryBuilderOption) (*TelemetryBuilder, error) { builder := TelemetryBuilder{meters: map[configtelemetry.Level]metric.Meter{}} for _, op := range options { - op(&builder) + op.apply(&builder) } builder.meters[configtelemetry.LevelBasic] = LeveledMeter(settings, configtelemetry.LevelBasic) var err, errs error diff --git a/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry_test.go b/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry_test.go index 2834884a1f2e..c8d095c2fd63 100644 --- a/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry_test.go +++ b/pkg/stanza/fileconsumer/internal/metadata/generated_telemetry_test.go @@ -75,9 +75,9 @@ func TestNewTelemetryBuilder(t *testing.T) { TracerProvider: mockTracerProvider{}, } applied := false - _, err := NewTelemetryBuilder(set, func(b *TelemetryBuilder) { + _, err := NewTelemetryBuilder(set, telemetryBuilderOptionFunc(func(b *TelemetryBuilder) { applied = true - }) + })) require.NoError(t, err) require.True(t, applied) } diff --git a/pkg/stanza/fileconsumer/internal/reader/reader.go b/pkg/stanza/fileconsumer/internal/reader/reader.go index a0c93a63a0f9..3cb998597069 100644 --- a/pkg/stanza/fileconsumer/internal/reader/reader.go +++ b/pkg/stanza/fileconsumer/internal/reader/reader.go @@ -70,7 +70,7 @@ func (r *Reader) ReadToEnd(ctx context.Context) { // SectionReader can only read a fixed window (from previous offset to EOF). info, err := r.file.Stat() if err != nil { - r.set.Logger.Error("Failed to stat", zap.Error(err)) + r.set.Logger.Error("failed to stat", zap.Error(err)) return } currentEOF := info.Size() @@ -80,7 +80,7 @@ func (r *Reader) ReadToEnd(ctx context.Context) { gzipReader, err := gzip.NewReader(io.NewSectionReader(r.file, r.Offset, currentEOF)) if err != nil { if !errors.Is(err, io.EOF) { - r.set.Logger.Error("Failed to create gzip reader", zap.Error(err)) + r.set.Logger.Error("failed to create gzip reader", zap.Error(err)) } return } else { @@ -96,7 +96,7 @@ func (r *Reader) ReadToEnd(ctx context.Context) { } if _, err := r.file.Seek(r.Offset, 0); err != nil { - r.set.Logger.Error("Failed to seek", zap.Error(err)) + r.set.Logger.Error("failed to seek", zap.Error(err)) return } @@ -106,9 +106,85 @@ func (r *Reader) ReadToEnd(ctx context.Context) { } }() + if r.headerReader != nil { + if r.readHeader(ctx) { + return + } + } + + r.readContents(ctx) +} + +func (r *Reader) readHeader(ctx context.Context) (doneReadingFile bool) { + s := scanner.New(r, r.maxLogSize, r.initialBufferSize, r.Offset, r.splitFunc) + + // Read the tokens from the file until no more header tokens are found or the end of file is reached. + for { + select { + case <-ctx.Done(): + return true + default: + } + + ok := s.Scan() + if !ok { + if err := s.Error(); err != nil { + r.set.Logger.Error("failed during header scan", zap.Error(err)) + } else { + r.set.Logger.Debug("end of file reached", zap.Bool("delete_at_eof", r.deleteAtEOF)) + if r.deleteAtEOF { + r.delete() + } + } + // Either end of file was reached, or file cannot be scanned. + return true + } + + token, err := r.decoder.Decode(s.Bytes()) + if err != nil { + r.set.Logger.Error("failed to decode header token", zap.Error(err)) + r.Offset = s.Pos() // move past the bad token or we may be stuck + continue + } + + err = r.headerReader.Process(ctx, token, r.FileAttributes) + if err != nil { + if errors.Is(err, header.ErrEndOfHeader) { + // End of header reached. + break + } + r.set.Logger.Error("failed to process header token", zap.Error(err)) + } + + r.Offset = s.Pos() + } + + // Clean up the header machinery + if err := r.headerReader.Stop(); err != nil { + r.set.Logger.Error("failed to stop header pipeline during finalization", zap.Error(err)) + } + r.headerReader = nil + r.HeaderFinalized = true + r.initialBufferSize = scanner.DefaultBufferSize + + // Switch to the normal split and process functions. + r.splitFunc = r.lineSplitFunc + r.processFunc = r.emitFunc + + // Reset position in file to r.Offest after the header scanner might have moved it past a content token. + if _, err := r.file.Seek(r.Offset, 0); err != nil { + r.set.Logger.Error("failed to seek post-header", zap.Error(err)) + return true + } + + return false +} + +func (r *Reader) readContents(ctx context.Context) { + // Create the scanner to read the contents of the file. s := scanner.New(r, r.maxLogSize, r.initialBufferSize, r.Offset, r.splitFunc) - // Iterate over the tokenized file, emitting entries as we go + // Iterate over the contents of the file. for { select { case <-ctx.Done(): @@ -119,7 +195,7 @@ func (r *Reader) ReadToEnd(ctx context.Context) { ok := s.Scan() if !ok { if err := s.Error(); err != nil { - r.set.Logger.Error("Failed during scan", zap.Error(err)) + r.set.Logger.Error("failed during scan", zap.Error(err)) } else if r.deleteAtEOF { r.delete() } @@ -128,7 +204,7 @@ func (r *Reader) ReadToEnd(ctx context.Context) { token, err := r.decoder.Decode(s.Bytes()) if err != nil { - r.set.Logger.Error("decode: %w", zap.Error(err)) + r.set.Logger.Error("failed to decode token", zap.Error(err)) r.Offset = s.Pos() // move past the bad token or we may be stuck continue } @@ -139,36 +215,11 @@ func (r *Reader) ReadToEnd(ctx context.Context) { } err = r.processFunc(ctx, token, r.FileAttributes) - if err == nil { - r.Offset = s.Pos() // successful emit, update offset - continue - } - - if !errors.Is(err, header.ErrEndOfHeader) { - r.set.Logger.Error("process: %w", zap.Error(err)) - r.Offset = s.Pos() // move past the bad token or we may be stuck - continue + if err != nil { + r.set.Logger.Error("failed to process token", zap.Error(err)) } - // Clean up the header machinery - if err = r.headerReader.Stop(); err != nil { - r.set.Logger.Error("Failed to stop header pipeline during finalization", zap.Error(err)) - } - r.headerReader = nil - r.HeaderFinalized = true - - // Switch to the normal split and process functions. - r.splitFunc = r.lineSplitFunc - r.processFunc = r.emitFunc - - // Recreate the scanner with the normal split func. - // Do not use the updated offset from the old scanner, as the most recent token - // could be split differently with the new splitter. - if _, err = r.file.Seek(r.Offset, 0); err != nil { - r.set.Logger.Error("Failed to seek post-header", zap.Error(err)) - return - } - s = scanner.New(r, r.maxLogSize, scanner.DefaultBufferSize, r.Offset, r.splitFunc) + r.Offset = s.Pos() } } diff --git a/pkg/stanza/fileconsumer/internal/reader/reader_other.go b/pkg/stanza/fileconsumer/internal/reader/reader_other.go index 56f28e64c446..a0d5927cd4f2 100644 --- a/pkg/stanza/fileconsumer/internal/reader/reader_other.go +++ b/pkg/stanza/fileconsumer/internal/reader/reader_other.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -//go:build !unix +//go:build !unix || aix || solaris package reader // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/reader" diff --git a/pkg/stanza/fileconsumer/internal/reader/reader_unix.go b/pkg/stanza/fileconsumer/internal/reader/reader_unix.go index 1fb7d6d98201..65b80b995ab8 100644 --- a/pkg/stanza/fileconsumer/internal/reader/reader_unix.go +++ b/pkg/stanza/fileconsumer/internal/reader/reader_unix.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -//go:build unix +//go:build unix && !aix && !solaris package reader // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/reader" @@ -25,6 +25,10 @@ func (r *Reader) tryLockFile() bool { func (r *Reader) unlockFile() { if err := unix.Flock(int(r.file.Fd()), unix.LOCK_UN); err != nil { - r.set.Logger.Error("Failed to unlock", zap.Error(err)) + // If delete_after_read is set then the file may already have been deleted by this point, + // in which case we'll get EBADF. This is harmless and not worth logging. + if !errors.Is(err, unix.EBADF) { + r.set.Logger.Error("Failed to unlock", zap.Error(err)) + } } } diff --git a/pkg/stanza/fileconsumer/internal/tracker/tracker.go b/pkg/stanza/fileconsumer/internal/tracker/tracker.go index 5039003a36ed..54bf5e9e12c1 100644 --- a/pkg/stanza/fileconsumer/internal/tracker/tracker.go +++ b/pkg/stanza/fileconsumer/internal/tracker/tracker.go @@ -4,12 +4,17 @@ package tracker // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/tracker" import ( + "context" + "fmt" + "go.opentelemetry.io/collector/component" "go.uber.org/zap" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/checkpoint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/fileset" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/fingerprint" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/reader" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator" ) // Interface for tracking files that are being consumed. @@ -37,9 +42,16 @@ type fileTracker struct { currentPollFiles *fileset.Fileset[*reader.Reader] previousPollFiles *fileset.Fileset[*reader.Reader] knownFiles []*fileset.Fileset[*reader.Metadata] + + // persister is to be used to store offsets older than 3 poll cycles. + // These offsets will be stored on disk + persister operator.Persister + + pollsToArchive int + archiveIndex int } -func NewFileTracker(set component.TelemetrySettings, maxBatchFiles int) Tracker { +func NewFileTracker(set component.TelemetrySettings, maxBatchFiles int, pollsToArchive int, persister operator.Persister) Tracker { knownFiles := make([]*fileset.Fileset[*reader.Metadata], 3) for i := 0; i < len(knownFiles); i++ { knownFiles[i] = fileset.New[*reader.Metadata](maxBatchFiles) @@ -51,6 +63,9 @@ func NewFileTracker(set component.TelemetrySettings, maxBatchFiles int) Tracker currentPollFiles: fileset.New[*reader.Reader](maxBatchFiles), previousPollFiles: fileset.New[*reader.Reader](maxBatchFiles), knownFiles: knownFiles, + pollsToArchive: pollsToArchive, + persister: persister, + archiveIndex: 0, } } @@ -113,6 +128,9 @@ func (t *fileTracker) ClosePreviousFiles() (filesClosed int) { func (t *fileTracker) EndPoll() { // shift the filesets at end of every poll() call // t.knownFiles[0] -> t.knownFiles[1] -> t.knownFiles[2] + + // Instead of throwing it away, archive it. + t.archive(t.knownFiles[2]) copy(t.knownFiles[1:], t.knownFiles) t.knownFiles[0] = fileset.New[*reader.Metadata](t.maxBatchFiles) } @@ -125,6 +143,34 @@ func (t *fileTracker) TotalReaders() int { return total } +func (t *fileTracker) archive(metadata *fileset.Fileset[*reader.Metadata]) { + // We make use of a ring buffer, where each set of files is stored under a specific index. + // Instead of discarding knownFiles[2], write it to the next index and eventually roll over. + // Separate storage keys knownFilesArchive0, knownFilesArchive1, ..., knownFilesArchiveN, roll over back to knownFilesArchive0 + + // Archiving: ┌─────────────────────on-disk archive─────────────────────────┐ + // | ┌───┐ ┌───┐ ┌──────────────────┐ | + // index | ▶ │ 0 │ ▶ │ 1 │ ▶ ... ▶ │ polls_to_archive │ | + // | ▲ └───┘ └───┘ └──────────────────┘ | + // | ▲ ▲ ▼ | + // | ▲ │ Roll over overriting older offsets, if any ◀ | + // └──────│──────────────────────────────────────────────────────┘ + // │ + // │ + // │ + // start + // index + + if t.pollsToArchive <= 0 || t.persister == nil { + return + } + key := fmt.Sprintf("knownFiles%d", t.archiveIndex) + if err := checkpoint.SaveKey(context.Background(), t.persister, metadata.Get(), key); err != nil { + t.set.Logger.Error("error faced while saving to the archive", zap.Error(err)) + } + t.archiveIndex = (t.archiveIndex + 1) % t.pollsToArchive // increment the index +} + // noStateTracker only tracks the current polled files. Once the poll is // complete and telemetry is consumed, the tracked files are closed. The next // poll will create fresh readers with no previously tracked offsets. diff --git a/pkg/stanza/fileconsumer/internal/trie/trie_test.go b/pkg/stanza/fileconsumer/internal/trie/trie_test.go index e58a16844803..a2725d1dc005 100644 --- a/pkg/stanza/fileconsumer/internal/trie/trie_test.go +++ b/pkg/stanza/fileconsumer/internal/trie/trie_test.go @@ -330,7 +330,7 @@ func get(key string, expect any, why string) testOp { func put(key string, val any) testOp { return func(t *testing.T, trie *Trie[any]) { trie.Put([]byte(key), val) - assert.Equalf(t, val, trie.Get([]byte(key)), "called Put(%s, %d) but HasKey(%s) does not return %d", key, key) + assert.Equalf(t, val, trie.Get([]byte(key)), "called Put(%s, %d) but HasKey(%s) does not return %d", key, val, key, val) } } @@ -342,7 +342,7 @@ func del(key string, why string) testOp { assert.Falsef(t, trie.Delete([]byte(key)), why) } else { assert.Truef(t, trie.Delete([]byte(key)), why) - assert.Falsef(t, trie.Delete([]byte(key)), "called Del(%s) twice in a row and got true both times") + assert.Falsef(t, trie.Delete([]byte(key)), "called Del(%s) twice in a row and got true both times", key) } } } diff --git a/pkg/stanza/fileconsumer/rotation_test.go b/pkg/stanza/fileconsumer/rotation_test.go index 51095c549a32..1864f0e7e241 100644 --- a/pkg/stanza/fileconsumer/rotation_test.go +++ b/pkg/stanza/fileconsumer/rotation_test.go @@ -69,16 +69,16 @@ func TestCopyTruncate(t *testing.T) { filetest.WriteString(t, file, getMessage(fn, rotationNum, messageNum)+"\n") time.Sleep(10 * time.Millisecond) } - require.NoError(t, file.Sync()) + assert.NoError(t, file.Sync()) _, err := file.Seek(0, 0) - require.NoError(t, err) + assert.NoError(t, err) dst := filetest.OpenFile(t, fileName(fn, rotationNum)) _, err = io.Copy(dst, file) - require.NoError(t, err) - require.NoError(t, dst.Close()) - require.NoError(t, file.Truncate(0)) + assert.NoError(t, err) + assert.NoError(t, dst.Close()) + assert.NoError(t, file.Truncate(0)) _, err = file.Seek(0, 0) - require.NoError(t, err) + assert.NoError(t, err) } }(fileNum) } @@ -130,8 +130,8 @@ func TestMoveCreate(t *testing.T) { filetest.WriteString(t, file, getMessage(fn, rotationNum, messageNum)+"\n") time.Sleep(10 * time.Millisecond) } - require.NoError(t, file.Close()) - require.NoError(t, os.Rename(baseFileName(fn), fileName(fn, rotationNum))) + assert.NoError(t, file.Close()) + assert.NoError(t, os.Rename(baseFileName(fn), fileName(fn, rotationNum))) } }(fileNum) } diff --git a/pkg/stanza/fileconsumer/util_test.go b/pkg/stanza/fileconsumer/util_test.go index 19d465a6e43b..69bb92ca26cd 100644 --- a/pkg/stanza/fileconsumer/util_test.go +++ b/pkg/stanza/fileconsumer/util_test.go @@ -10,6 +10,8 @@ import ( "go.opentelemetry.io/collector/component/componenttest" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/emittest" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer/internal/tracker" + "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/testutil" ) func testManager(t *testing.T, cfg *Config, opts ...Option) (*Manager, *emittest.Sink) { @@ -20,6 +22,7 @@ func testManager(t *testing.T, cfg *Config, opts ...Option) (*Manager, *emittest func testManagerWithSink(t *testing.T, cfg *Config, sink *emittest.Sink, opts ...Option) *Manager { set := componenttest.NewNopTelemetrySettings() input, err := cfg.Build(set, sink.Callback, opts...) + input.tracker = tracker.NewFileTracker(set, cfg.MaxBatches, cfg.PollsToArchive, testutil.NewUnscopedMockPersister()) require.NoError(t, err) t.Cleanup(func() { input.tracker.ClosePreviousFiles() }) return input diff --git a/pkg/stanza/go.mod b/pkg/stanza/go.mod index 82305fb807fe..6d99409c56d4 100644 --- a/pkg/stanza/go.mod +++ b/pkg/stanza/go.mod @@ -3,7 +3,7 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza go 1.22.0 require ( - github.com/bmatcuk/doublestar/v4 v4.6.1 + github.com/bmatcuk/doublestar/v4 v4.7.1 github.com/cespare/xxhash/v2 v2.3.0 github.com/expr-lang/expr v1.16.9 github.com/fsnotify/fsnotify v1.7.0 @@ -11,47 +11,45 @@ require ( github.com/jonboulle/clockwork v0.4.0 github.com/jpillora/backoff v1.0.0 github.com/json-iterator/go v1.1.12 - github.com/leodido/go-syslog/v4 v4.1.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.108.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0 + github.com/leodido/go-syslog/v4 v4.2.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.112.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.112.0 github.com/stretchr/testify v1.9.0 github.com/valyala/fastjson v1.6.4 - go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 - go.opentelemetry.io/otel/metric v1.29.0 - go.opentelemetry.io/otel/sdk/metric v1.29.0 - go.opentelemetry.io/otel/trace v1.29.0 + go.opentelemetry.io/collector/component v0.112.0 + go.opentelemetry.io/collector/config/configtelemetry v0.112.0 + go.opentelemetry.io/collector/config/configtls v1.18.0 + go.opentelemetry.io/collector/confmap v1.18.0 + go.opentelemetry.io/collector/consumer v0.112.0 + go.opentelemetry.io/collector/consumer/consumertest v0.112.0 + go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 + go.opentelemetry.io/collector/featuregate v1.18.0 + go.opentelemetry.io/collector/pdata v1.18.0 + go.opentelemetry.io/collector/receiver v0.112.0 + go.opentelemetry.io/otel/metric v1.31.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.31.0 go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 - golang.org/x/sys v0.24.0 - golang.org/x/text v0.17.0 + golang.org/x/sys v0.26.0 + golang.org/x/text v0.19.0 gonum.org/v1/gonum v0.15.1 gopkg.in/yaml.v2 v2.4.0 ) require ( - github.com/beorn7/perks v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/elastic/lunes v0.1.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-viper/mapstructure/v2 v2.1.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-version v1.7.0 // indirect - github.com/klauspost/compress v1.17.9 // indirect github.com/knadh/koanf/maps v0.1.1 // indirect github.com/knadh/koanf/providers/confmap v0.1.0 // indirect github.com/knadh/koanf/v2 v2.1.1 // indirect @@ -61,27 +59,23 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect - github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.57.0 // indirect - github.com/prometheus/procfs v0.15.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/stretchr/objx v0.5.2 // indirect - go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.51.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.18.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.112.0 // indirect + go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/extension v0.112.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.112.0 // indirect + go.opentelemetry.io/collector/pipeline v0.112.0 // indirect + go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 // indirect + go.opentelemetry.io/collector/semconv v0.112.0 // indirect + go.opentelemetry.io/otel v1.31.0 // indirect + go.opentelemetry.io/otel/sdk v1.31.0 // indirect golang.org/x/net v0.28.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect - google.golang.org/grpc v1.66.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/grpc v1.67.1 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/stanza/go.sum b/pkg/stanza/go.sum index 2876782ce96b..ab4cb221eb94 100644 --- a/pkg/stanza/go.sum +++ b/pkg/stanza/go.sum @@ -1,7 +1,5 @@ -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I= -github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q= +github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -20,8 +18,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-viper/mapstructure/v2 v2.1.0 h1:gHnMa2Y/pIxElCH2GlZZ1lZSsn6XMtufpGyP1XxdC/w= -github.com/go-viper/mapstructure/v2 v2.1.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -42,8 +40,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= -github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= @@ -54,10 +50,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-syslog/v4 v4.1.0 h1:Wsl194qyWXr7V6DrGWC3xmxA9Ra6XgWO+toNt2fmCaI= -github.com/leodido/go-syslog/v4 v4.1.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= +github.com/leodido/go-syslog/v4 v4.2.0 h1:A7vpbYxsO4e2E8udaurkLlxP5LDpDbmPMsGnuhb7jVk= +github.com/leodido/go-syslog/v4 v4.2.0/go.mod h1:eJ8rUfDN5OS6dOkCOBYlg2a+hbAg6pJa99QXXgMrd98= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b h1:11UHH39z1RhZ5dc4y4r/4koJo6IYFgTRMe/LlwRTEw0= github.com/leodido/ragel-machinery v0.0.0-20190525184631-5f46317e436b/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= @@ -71,20 +65,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= -github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY= -github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI= -github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= -github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -95,54 +79,54 @@ github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXV github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331 h1:9jeRoDrYWfjfu6CJ3Gjd8W5CJ5Fb9GPgRX6VrROdS3c= -go.opentelemetry.io/collector v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:96geLBzhIIP9Dln2NSRaQ8a80Y0NTamXDBn5E61E/GQ= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331 h1:ZLQXgbcWoCEGFakH+SiesDS++MNt2B4FHh94ED41j48= -go.opentelemetry.io/collector/component v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:/igI72/lALdLb0lp2v2IWSkid+BXW6OX4FnF+B1KhXw= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331 h1:97vSmVGHyrbjOBpspnIJBPu+V1QugPdVP119DkJM04U= -go.opentelemetry.io/collector/config/configopaque v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331 h1:b4mj0LbxTnSOj5gjDHNoS+/EU0WFxqtOLWWUOZopXuU= -go.opentelemetry.io/collector/config/configtelemetry v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331 h1:K/NaNmxXwiQigPlVbvOOR5F0DoDfl/oyr7yN41ebLIs= -go.opentelemetry.io/collector/config/configtls v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:StxglrVWeRIFaqc2hpsF9xSsv2A5MOAx5GhG4WjFuP4= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331 h1:+SMo01hjzsHTIEoRMsisj0RCTxv5KBE56Y7pgIdRZKc= -go.opentelemetry.io/collector/confmap v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:GrIZ12P/9DPOuTpe2PIS51a0P/ZM6iKtByVee1Uf3+k= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331 h1:t/ON0j8VLTmo7CMcvUwgtBIy6qao8AeIpwEY1vAd1NU= -go.opentelemetry.io/collector/consumer v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:TFOOTWX+KGS30mOJFaNs/eHvtDXeyGJRELVCOrcwi5w= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:8iN0lDScFkcAY/pgXITWQKERSTaV9QvGr2/xfmQU7AI= -go.opentelemetry.io/collector/consumer/consumerprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:+tAGbVAK+2U24AVIbTwI/s3Y16wKfHs6lo14hu7VtP0= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331 h1:4vCSPi0FQhyNhfXMEZTSTPXvaYMnsQ5dF9QEf5CEuhQ= -go.opentelemetry.io/collector/consumer/consumertest v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:xfPl3jSKK/2zxK6T5AlgoaGs/7FIRtwUoFABGNNQwdk= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331 h1:bnZh/4dxOt1/i6nK28EWjMAG+AROTH5DYr8iwwKyOAg= -go.opentelemetry.io/collector/extension v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:SxPII5TwWGCP7/2tXaYDzK6S1WOLuAhIKUjCbyCh59E= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331 h1:gk2Re5dBF651yRxa9s4gMKIoj+zavQKI0BkN3E6Brc8= -go.opentelemetry.io/collector/extension/experimental/storage v0.0.0-20240909182537-32cff9f7f331/go.mod h1:oJq+h5cGpKhEBu29xMRXD2fF3cxHRSY2v2W2dhWNu8g= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331 h1:RDmpijg7MyKzhLnYXRFrU18QvpJ/LMtsje+NBB7k3FM= -go.opentelemetry.io/collector/featuregate v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331 h1:9wfzoGIg1BPZJgT53GWtIgSwrO7J6yXLsaE1IXY4eUM= -go.opentelemetry.io/collector/pdata v1.14.2-0.20240909182537-32cff9f7f331/go.mod h1:2wcsTIiLAJSbqBq/XUUYbi+cP+N87d0jEJzmb9nT19U= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331 h1:cSdxtI82MX0wBJM9WhnF3v9vH/x/dCJDWHRwK03c6Rg= -go.opentelemetry.io/collector/pdata/pprofile v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:2kECvmYCUUI8DHcUGMpJ4seet5x9olfhD7JsCUDqiIk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1 h1:TpBDoBMBYvC/Ibswe3Ec2eof8XrRrEec6+tfnTeTSGk= -go.opentelemetry.io/collector/pdata/testdata v0.108.1/go.mod h1:PdUmBA4yDRD4Wf0fpCyrpdZexz9EDoHBw5Ot4iIUPRs= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331 h1:OOZ481dQRSvoD0645WR4sbawD4rVTHUnrC8OynUFY94= -go.opentelemetry.io/collector/receiver v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:RpRR4nrOGYOttk5Hz5/x23seH0GT+PvqSWRA0tr4DSQ= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331 h1:RHn5J1bgf3hQK/qSQA5SgfhrqIlEHQEbpq1V9fDMCig= -go.opentelemetry.io/collector/receiver/receiverprofiles v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:0hXmT7sFcnR+93Ba9lujClwslQ2HdVG03Tcvy2mQoBc= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331 h1:rkPdW/LHSPefCl5zMDYQ9Bxa550DjIyP8S1Y7fX+lgQ= -go.opentelemetry.io/collector/semconv v0.108.2-0.20240909182537-32cff9f7f331/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0 h1:G7uexXb/K3T+T9fNLCCKncweEtNEBMTO+46hKX5EdKw= -go.opentelemetry.io/otel/exporters/prometheus v0.51.0/go.mod h1:v0mFe5Kk7woIh938mrZBJBmENYquyA0IICrlYm4Y0t4= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY= -go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= +go.opentelemetry.io/collector/component v0.112.0 h1:Hw125Tdb427yKkzFx3U/OsfPATYXsbURkc27dn19he8= +go.opentelemetry.io/collector/component v0.112.0/go.mod h1:hV9PEgkNlVAySX+Oo/g7+NcLe234L04kRXw6uGj3VEw= +go.opentelemetry.io/collector/config/configopaque v1.18.0 h1:aoEecgd5m8iZCX+S+iH6SK/lG6ULqCqtrtz7PeHw7vE= +go.opentelemetry.io/collector/config/configopaque v1.18.0/go.mod h1:6zlLIyOoRpJJ+0bEKrlZOZon3rOp5Jrz9fMdR4twOS4= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0 h1:MVBrWJUoqfKrORI38dY8OV0i5d1RRHR/ACIBu9TOcZ8= +go.opentelemetry.io/collector/config/configtelemetry v0.112.0/go.mod h1:R0MBUxjSMVMIhljuDHWIygzzJWQyZHXXWIgQNxcFwhc= +go.opentelemetry.io/collector/config/configtls v1.18.0 h1:IQemIIuryeHgrpBJMbLl+LgTxvFBbv7Hhi+0WwlxpCU= +go.opentelemetry.io/collector/config/configtls v1.18.0/go.mod h1:lD2dlDqeTKq7OecFwIZMufDaa8erSlEoHMJrFPHrZNw= +go.opentelemetry.io/collector/confmap v1.18.0 h1:UEOeJY8RW8lZ1O4lzHSGqolS7uzkpXQi5fa8SidKqQg= +go.opentelemetry.io/collector/confmap v1.18.0/go.mod h1:GgNu1ElPGmLn9govqIfjaopvdspw4PJ9KeDtWC4E2Q4= +go.opentelemetry.io/collector/consumer v0.112.0 h1:tfO4FpuQ8MsD7AxgslC3tRNVYjd9Xkus34BOExsG4fM= +go.opentelemetry.io/collector/consumer v0.112.0/go.mod h1:ZKSeGvXvaofIlvPrWlARKQpONOmuw6R/yifgYCWHKRw= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0 h1:dCqWEi3Yws5V5oGhCSOwxCHK6tYya5UzfzXmSLMHZ8E= +go.opentelemetry.io/collector/consumer/consumererror v0.112.0/go.mod h1:X9RJt5caDnwxoG++GhQHvlmDi2TMWEr6S/XRhZTSmOI= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0 h1:ym+QxemlbWwfMSUto1hRTfcZeYbj2q8FpMzjk8O+X60= +go.opentelemetry.io/collector/consumer/consumerprofiles v0.112.0/go.mod h1:4PjDUpURFh85R6NLEHrEf/uZjpk4LAYmmOrqu+iZsyE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0 h1:pGvNH+H4rMygUOql6ynVQim6UFdimTiJ0HRfQL6v0GE= +go.opentelemetry.io/collector/consumer/consumertest v0.112.0/go.mod h1:rfVo0tYt/BaLWw3IaQKVQafjUlMsA5qTkvsSOfFrr9c= +go.opentelemetry.io/collector/extension v0.112.0 h1:NsCDMMbuZp8dSBLoAqHn/AtbcspbAqcubc4qogXo+zc= +go.opentelemetry.io/collector/extension v0.112.0/go.mod h1:CZrWN4sRQ2cLpEP+zb7DAG+RFSSGcmswEjTt8UvcycM= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0 h1:IBRQcwEo7RKytjTEFnEsOcd52ffvNeEmSl6FeYPZzpk= +go.opentelemetry.io/collector/extension/experimental/storage v0.112.0/go.mod h1:+3j0GK3WRNb2noOOGdcx7b5FQUBP1AzLl+y3y+Qns1c= +go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU= +go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs= +go.opentelemetry.io/collector/pdata v1.18.0 h1:/yg2rO2dxqDM2p6GutsMCxXN6sKlXwyIz/ZYyUPONBg= +go.opentelemetry.io/collector/pdata v1.18.0/go.mod h1:Ox1YVLe87cZDB/TL30i4SUz1cA5s6AM6SpFMfY61ICs= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0 h1:t+LYorcMqZ3sDz5/jp3xU2l5lIhIXuIOOGO4Ef9CG2c= +go.opentelemetry.io/collector/pdata/pprofile v0.112.0/go.mod h1:F2aTCoDzIaxEUK1g92LZvMwradySFMo3ZsAnBIpOdUg= +go.opentelemetry.io/collector/pdata/testdata v0.112.0 h1:7jJzNvRE+CpYrwHbAYwPiN9a/hqmVRlRADJNeDJTvYI= +go.opentelemetry.io/collector/pdata/testdata v0.112.0/go.mod h1:9kO148Qp12B93SSUE52s0QGGV8Nf9RFN2G/PnZx3l+w= +go.opentelemetry.io/collector/pipeline v0.112.0 h1:jqKDdb8k53OLPibvxzX6fmMec0ZHAtqe4p2+cuHclEI= +go.opentelemetry.io/collector/pipeline v0.112.0/go.mod h1:4vOvjVsoYTHVGTbfFwqfnQOSV2K3RKUHofh3jNRc2Mg= +go.opentelemetry.io/collector/receiver v0.112.0 h1:gdTBDOPGKMZlZghtN5A7ZLNlNwCHWYcoJQeIiXvyGEQ= +go.opentelemetry.io/collector/receiver v0.112.0/go.mod h1:3QmfSUiyFzRTnHUqF8fyEvQpU5q/xuwS43jGt8JXEEA= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0 h1:SShkZsWRsFss3iWZa9JwMC7h4gD5RbWDhUcz1/9dXSs= +go.opentelemetry.io/collector/receiver/receiverprofiles v0.112.0/go.mod h1:615smszDXiz4YWwXslxlAjX7FzOVDU7Bk6xARFk+zpk= +go.opentelemetry.io/collector/semconv v0.112.0 h1:JPQyvZhlNLVSuVI+FScONaiFygB7h7NTZceUEKIQUEc= +go.opentelemetry.io/collector/semconv v0.112.0/go.mod h1:zCJ5njhWpejR+A40kiEoeFm1xq1uzyZwMnRNX6/D82A= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -168,12 +152,12 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -186,10 +170,10 @@ gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E= google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/pkg/stanza/operator/config_test.go b/pkg/stanza/operator/config_test.go index 14375683a424..8d3899634f74 100644 --- a/pkg/stanza/operator/config_test.go +++ b/pkg/stanza/operator/config_test.go @@ -43,24 +43,21 @@ func TestUnmarshalJSONErrors(t *testing.T) { raw := `{}}` cfg := &Config{} err := cfg.UnmarshalJSON([]byte(raw)) - require.Error(t, err) - require.Contains(t, err.Error(), "invalid") + require.ErrorContains(t, err, "invalid") }) t.Run("MissingType", func(t *testing.T) { raw := `{"id":"stdout"}` var cfg Config err := json.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required field") + require.ErrorContains(t, err, "missing required field") }) t.Run("UnknownType", func(t *testing.T) { raw := `{"id":"stdout","type":"nonexist"}` var cfg Config err := json.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "unsupported type") + require.ErrorContains(t, err, "unsupported type") }) t.Run("TypeSpecificUnmarshal", func(t *testing.T) { @@ -68,8 +65,7 @@ func TestUnmarshalJSONErrors(t *testing.T) { Register("operator", func() Builder { return &FakeBuilder{} }) var cfg Config err := json.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "cannot unmarshal string into") + require.ErrorContains(t, err, "cannot unmarshal string into") }) } @@ -87,32 +83,28 @@ func TestUnmarshalYAMLErrors(t *testing.T) { raw := `-- - \n||\\` var cfg Config err := yaml.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "failed ") + require.ErrorContains(t, err, "failed ") }) t.Run("MissingType", func(t *testing.T) { raw := "id: operator\n" var cfg Config err := yaml.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required field") + require.ErrorContains(t, err, "missing required field") }) t.Run("NonStringType", func(t *testing.T) { raw := "id: operator\ntype: 123" var cfg Config err := yaml.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "non-string type") + require.ErrorContains(t, err, "non-string type") }) t.Run("UnknownType", func(t *testing.T) { raw := "id: operator\ntype: unknown\n" var cfg Config err := yaml.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "unsupported type") + require.ErrorContains(t, err, "unsupported type") }) t.Run("TypeSpecificUnmarshal", func(t *testing.T) { @@ -120,7 +112,6 @@ func TestUnmarshalYAMLErrors(t *testing.T) { Register("operator", func() Builder { return &FakeBuilder{} }) var cfg Config err := yaml.Unmarshal([]byte(raw), &cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "cannot unmarshal !!str") + require.ErrorContains(t, err, "cannot unmarshal !!str") }) } diff --git a/pkg/stanza/operator/helper/emitter.go b/pkg/stanza/operator/helper/emitter.go index dcff31667ad6..51f1aa772863 100644 --- a/pkg/stanza/operator/helper/emitter.go +++ b/pkg/stanza/operator/helper/emitter.go @@ -18,8 +18,8 @@ import ( type LogEmitter struct { OutputOperator logChan chan []*entry.Entry + closeChan chan struct{} stopOnce sync.Once - cancel context.CancelFunc batchMux sync.Mutex batch []*entry.Entry wg sync.WaitGroup @@ -66,10 +66,10 @@ func NewLogEmitter(set component.TelemetrySettings, opts ...EmitterOption) *LogE e := &LogEmitter{ OutputOperator: op, logChan: make(chan []*entry.Entry), + closeChan: make(chan struct{}), maxBatchSize: defaultMaxBatchSize, batch: make([]*entry.Entry, 0, defaultMaxBatchSize), flushInterval: defaultFlushInterval, - cancel: func() {}, } for _, opt := range opts { opt.apply(e) @@ -79,18 +79,15 @@ func NewLogEmitter(set component.TelemetrySettings, opts ...EmitterOption) *LogE // Start starts the goroutine(s) required for this operator func (e *LogEmitter) Start(_ operator.Persister) error { - ctx, cancel := context.WithCancel(context.Background()) - e.cancel = cancel - e.wg.Add(1) - go e.flusher(ctx) + go e.flusher() return nil } // Stop will close the log channel and stop running goroutines func (e *LogEmitter) Stop() error { e.stopOnce.Do(func() { - e.cancel() + close(e.closeChan) e.wg.Wait() close(e.logChan) @@ -135,7 +132,7 @@ func (e *LogEmitter) appendEntry(ent *entry.Entry) []*entry.Entry { } // flusher flushes the current batch every flush interval. Intended to be run as a goroutine -func (e *LogEmitter) flusher(ctx context.Context) { +func (e *LogEmitter) flusher() { defer e.wg.Done() ticker := time.NewTicker(e.flushInterval) @@ -145,9 +142,13 @@ func (e *LogEmitter) flusher(ctx context.Context) { select { case <-ticker.C: if oldBatch := e.makeNewBatch(); len(oldBatch) > 0 { - e.flush(ctx, oldBatch) + e.flush(context.Background(), oldBatch) + } + case <-e.closeChan: + // flush currently batched entries + if oldBatch := e.makeNewBatch(); len(oldBatch) > 0 { + e.flush(context.Background(), oldBatch) } - case <-ctx.Done(): return } } diff --git a/pkg/stanza/operator/helper/emitter_test.go b/pkg/stanza/operator/helper/emitter_test.go index e8c11e6d05e1..f17e7f503b2d 100644 --- a/pkg/stanza/operator/helper/emitter_test.go +++ b/pkg/stanza/operator/helper/emitter_test.go @@ -9,6 +9,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" @@ -27,7 +28,7 @@ func TestLogEmitter(t *testing.T) { in := entry.New() go func() { - require.NoError(t, emitter.Process(context.Background(), in)) + assert.NoError(t, emitter.Process(context.Background(), in)) }() select { @@ -55,7 +56,7 @@ func TestLogEmitterEmitsOnMaxBatchSize(t *testing.T) { go func() { ctx := context.Background() for _, e := range entries { - require.NoError(t, emitter.Process(ctx, e)) + assert.NoError(t, emitter.Process(ctx, e)) } }() @@ -85,7 +86,7 @@ func TestLogEmitterEmitsOnFlushInterval(t *testing.T) { go func() { ctx := context.Background() - require.NoError(t, emitter.Process(ctx, entry)) + assert.NoError(t, emitter.Process(ctx, entry)) }() timeoutChan := time.After(timeout) diff --git a/pkg/stanza/operator/helper/input_test.go b/pkg/stanza/operator/helper/input_test.go index 8d3e16a704c7..cfa58c304936 100644 --- a/pkg/stanza/operator/helper/input_test.go +++ b/pkg/stanza/operator/helper/input_test.go @@ -23,8 +23,7 @@ func TestInputConfigMissingBase(t *testing.T) { set := componenttest.NewNopTelemetrySettings() _, err := config.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required `type` field.") + require.ErrorContains(t, err, "missing required `type` field.") } func TestInputConfigMissingOutput(t *testing.T) { diff --git a/pkg/stanza/operator/helper/operator_test.go b/pkg/stanza/operator/helper/operator_test.go index 99f7f6b8eb58..41577e1cfdc6 100644 --- a/pkg/stanza/operator/helper/operator_test.go +++ b/pkg/stanza/operator/helper/operator_test.go @@ -46,8 +46,7 @@ func TestBasicConfigBuildWithoutType(t *testing.T) { set := componenttest.NewNopTelemetrySettings() _, err := config.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required `type` field.") + require.ErrorContains(t, err, "missing required `type` field.") } func TestBasicConfigBuildMissingLogger(t *testing.T) { @@ -59,8 +58,7 @@ func TestBasicConfigBuildMissingLogger(t *testing.T) { set := componenttest.NewNopTelemetrySettings() set.Logger = nil _, err := config.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "operator build context is missing a logger.") + require.ErrorContains(t, err, "operator build context is missing a logger.") } func TestBasicConfigBuildValid(t *testing.T) { diff --git a/pkg/stanza/operator/helper/output_test.go b/pkg/stanza/operator/helper/output_test.go index 2dc62b929fb2..b55e33abd4ca 100644 --- a/pkg/stanza/operator/helper/output_test.go +++ b/pkg/stanza/operator/helper/output_test.go @@ -17,8 +17,7 @@ func TestOutputConfigMissingBase(t *testing.T) { config := OutputConfig{} set := componenttest.NewNopTelemetrySettings() _, err := config.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required `type` field.") + require.ErrorContains(t, err, "missing required `type` field.") } func TestOutputConfigBuildValid(t *testing.T) { @@ -84,6 +83,5 @@ func TestOutputOperatorSetOutputs(t *testing.T) { } err := output.SetOutputs([]operator.Operator{}) - require.Error(t, err) - require.Contains(t, err.Error(), "Operator can not output") + require.ErrorContains(t, err, "Operator can not output") } diff --git a/pkg/stanza/operator/helper/parser.go b/pkg/stanza/operator/helper/parser.go index 56b2eaccd106..f46c55f970b7 100644 --- a/pkg/stanza/operator/helper/parser.go +++ b/pkg/stanza/operator/helper/parser.go @@ -109,12 +109,16 @@ func (p *ParserOperator) ProcessWithCallback(ctx context.Context, entry *entry.E } if err = p.ParseWith(ctx, entry, parse); err != nil { + if p.OnError == DropOnErrorQuiet || p.OnError == SendOnErrorQuiet { + return nil + } + return err } if cb != nil { err = cb(entry) if err != nil { - return err + return p.HandleEntryError(ctx, entry, err) } } diff --git a/pkg/stanza/operator/helper/parser_test.go b/pkg/stanza/operator/helper/parser_test.go index e7d635377d1e..f8b69985a611 100644 --- a/pkg/stanza/operator/helper/parser_test.go +++ b/pkg/stanza/operator/helper/parser_test.go @@ -24,8 +24,7 @@ func TestParserConfigMissingBase(t *testing.T) { config := ParserConfig{} set := componenttest.NewNopTelemetrySettings() _, err := config.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required `type` field.") + require.ErrorContains(t, err, "missing required `type` field.") } func TestParserConfigInvalidTimeParser(t *testing.T) { @@ -39,8 +38,7 @@ func TestParserConfigInvalidTimeParser(t *testing.T) { set := componenttest.NewNopTelemetrySettings() _, err := cfg.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required configuration parameter `layout`") + require.ErrorContains(t, err, "missing required configuration parameter `layout`") } func TestParserConfigBodyCollision(t *testing.T) { @@ -52,8 +50,7 @@ func TestParserConfigBodyCollision(t *testing.T) { set := componenttest.NewNopTelemetrySettings() _, err := cfg.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "`parse_to: body` not allowed when `body` is configured") + require.ErrorContains(t, err, "`parse_to: body` not allowed when `body` is configured") } func TestParserConfigBuildValid(t *testing.T) { @@ -123,8 +120,7 @@ func TestParserMissingField(t *testing.T) { ctx := context.Background() testEntry := entry.New() err := parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "Entry is missing the expected parse_from field.") + require.ErrorContains(t, err, "Entry is missing the expected parse_from field.") } func TestParserInvalidParseDrop(t *testing.T) { @@ -142,11 +138,29 @@ func TestParserInvalidParseDrop(t *testing.T) { ctx := context.Background() testEntry := entry.New() err := parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "parse failure") + require.ErrorContains(t, err, "parse failure") fakeOut.ExpectNoEntry(t, 100*time.Millisecond) } +func TestParserInvalidParseDropQuiet(t *testing.T) { + writer, fakeOut := writerWithFakeOut(t) + parser := ParserOperator{ + TransformerOperator: TransformerOperator{ + WriterOperator: *writer, + OnError: DropOnErrorQuiet, + }, + ParseFrom: entry.NewBodyField(), + } + parse := func(i any) (any, error) { + return i, fmt.Errorf("parse failure") + } + ctx := context.Background() + testEntry := entry.New() + err := parser.ProcessWith(ctx, testEntry, parse) + require.NoError(t, err, "error should be silent") + fakeOut.ExpectNoEntry(t, 100*time.Millisecond) // Entry should be dropped +} + func TestParserInvalidParseSend(t *testing.T) { writer, fakeOut := writerWithFakeOut(t) parser := ParserOperator{ @@ -162,8 +176,27 @@ func TestParserInvalidParseSend(t *testing.T) { ctx := context.Background() testEntry := entry.New() err := parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "parse failure") + require.ErrorContains(t, err, "parse failure") + fakeOut.ExpectEntry(t, testEntry) + fakeOut.ExpectNoEntry(t, 100*time.Millisecond) +} + +func TestParserInvalidParseSendQuiet(t *testing.T) { + writer, fakeOut := writerWithFakeOut(t) + parser := ParserOperator{ + TransformerOperator: TransformerOperator{ + WriterOperator: *writer, + OnError: SendOnErrorQuiet, + }, + ParseFrom: entry.NewBodyField(), + } + parse := func(i any) (any, error) { + return i, fmt.Errorf("parse failure") + } + ctx := context.Background() + testEntry := entry.New() + err := parser.ProcessWith(ctx, testEntry, parse) + require.NoError(t, err, "error should be silent") fakeOut.ExpectEntry(t, testEntry) fakeOut.ExpectNoEntry(t, 100*time.Millisecond) } @@ -190,8 +223,7 @@ func TestParserInvalidTimeParseDrop(t *testing.T) { ctx := context.Background() testEntry := entry.New() err := parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "time parser: log entry does not have the expected parse_from field") + require.ErrorContains(t, err, "time parser: log entry does not have the expected parse_from field") fakeOut.ExpectNoEntry(t, 100*time.Millisecond) } @@ -217,8 +249,7 @@ func TestParserInvalidTimeParseSend(t *testing.T) { ctx := context.Background() testEntry := entry.New() err := parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "time parser: log entry does not have the expected parse_from field") + require.ErrorContains(t, err, "time parser: log entry does not have the expected parse_from field") fakeOut.ExpectEntry(t, testEntry) fakeOut.ExpectNoEntry(t, 100*time.Millisecond) } @@ -241,8 +272,7 @@ func TestParserInvalidSeverityParseDrop(t *testing.T) { ctx := context.Background() testEntry := entry.New() err := parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "severity parser: log entry does not have the expected parse_from field") + require.ErrorContains(t, err, "severity parser: log entry does not have the expected parse_from field") fakeOut.ExpectNoEntry(t, 100*time.Millisecond) } @@ -284,8 +314,7 @@ func TestParserInvalidTimeValidSeverityParse(t *testing.T) { require.NoError(t, err) err = parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "time parser: log entry does not have the expected parse_from field") + require.ErrorContains(t, err, "time parser: log entry does not have the expected parse_from field") // But, this should have been set anyways require.Equal(t, entry.Info, testEntry.Severity) @@ -339,8 +368,7 @@ func TestParserValidTimeInvalidSeverityParse(t *testing.T) { require.NoError(t, err) err = parser.ProcessWith(ctx, testEntry, parse) - require.Error(t, err) - require.Contains(t, err.Error(), "severity parser: log entry does not have the expected parse_from field") + require.ErrorContains(t, err, "severity parser: log entry does not have the expected parse_from field") require.Equal(t, expected, testEntry.Timestamp) } diff --git a/pkg/stanza/operator/helper/time_test.go b/pkg/stanza/operator/helper/time_test.go index 51b4dec7979a..0d06b456e1a9 100644 --- a/pkg/stanza/operator/helper/time_test.go +++ b/pkg/stanza/operator/helper/time_test.go @@ -571,8 +571,7 @@ func TestSetInvalidLocation(t *testing.T) { tp := NewTimeParser() tp.Location = "not_a_location" err := tp.setLocation() - require.Error(t, err) - require.Contains(t, err.Error(), "failed to load location "+"not_a_location") + require.ErrorContains(t, err, "failed to load location "+"not_a_location") } func TestUnmarshal(t *testing.T) { diff --git a/pkg/stanza/operator/helper/transformer.go b/pkg/stanza/operator/helper/transformer.go index e1b9faf69c22..a8b5a8709bfd 100644 --- a/pkg/stanza/operator/helper/transformer.go +++ b/pkg/stanza/operator/helper/transformer.go @@ -106,10 +106,6 @@ func (t *TransformerOperator) HandleEntryError(ctx context.Context, entry *entry } } - if t.OnError == SendOnErrorQuiet || t.OnError == DropOnErrorQuiet { - return nil - } - return err } diff --git a/pkg/stanza/operator/helper/transformer_test.go b/pkg/stanza/operator/helper/transformer_test.go index 9e1ed76da5cd..f03c02dbefcc 100644 --- a/pkg/stanza/operator/helper/transformer_test.go +++ b/pkg/stanza/operator/helper/transformer_test.go @@ -26,8 +26,7 @@ func TestTransformerConfigMissingBase(t *testing.T) { cfg.OutputIDs = []string{"test-output"} set := componenttest.NewNopTelemetrySettings() _, err := cfg.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "missing required `type` field.") + require.ErrorContains(t, err, "missing required `type` field.") } func TestTransformerConfigMissingOutput(t *testing.T) { @@ -58,8 +57,7 @@ func TestTransformerOnErrorInvalid(t *testing.T) { cfg.OnError = "invalid" set := componenttest.NewNopTelemetrySettings() _, err := cfg.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "operator config has an invalid `on_error` field.") + require.ErrorContains(t, err, "operator config has an invalid `on_error` field.") } func TestTransformerOperatorCanProcess(t *testing.T) { @@ -143,7 +141,7 @@ func TestTransformerDropOnErrorQuiet(t *testing.T) { } err := transformer.ProcessWith(ctx, testEntry, transform) - require.NoError(t, err) + require.Error(t, err) output.AssertNotCalled(t, "Process", mock.Anything, mock.Anything) // Test output logs @@ -233,7 +231,7 @@ func TestTransformerSendOnErrorQuiet(t *testing.T) { } err := transformer.ProcessWith(ctx, testEntry, transform) - require.NoError(t, err) + require.Error(t, err) output.AssertCalled(t, "Process", mock.Anything, mock.Anything) // Test output logs diff --git a/pkg/stanza/operator/helper/writer_test.go b/pkg/stanza/operator/helper/writer_test.go index 5505984920b5..385c536cf080 100644 --- a/pkg/stanza/operator/helper/writer_test.go +++ b/pkg/stanza/operator/helper/writer_test.go @@ -119,8 +119,7 @@ func TestWriterSetOutputsMissing(t *testing.T) { } err := writer.SetOutputs([]operator.Operator{output1}) - require.Error(t, err) - require.Contains(t, err.Error(), "does not exist") + require.ErrorContains(t, err, "does not exist") } func TestWriterSetOutputsInvalid(t *testing.T) { @@ -132,8 +131,7 @@ func TestWriterSetOutputsInvalid(t *testing.T) { } err := writer.SetOutputs([]operator.Operator{output1}) - require.Error(t, err) - require.Contains(t, err.Error(), "can not process entries") + require.ErrorContains(t, err, "can not process entries") } func TestWriterSetOutputsValid(t *testing.T) { diff --git a/pkg/stanza/operator/input/file/input_test.go b/pkg/stanza/operator/input/file/input_test.go index 2063e01e7f26..9319c71f7ba5 100644 --- a/pkg/stanza/operator/input/file/input_test.go +++ b/pkg/stanza/operator/input/file/input_test.go @@ -189,7 +189,7 @@ func TestReadUsingNopEncoding(t *testing.T) { // Create a file, then start temp := openTemp(t, tempDir) bytesWritten, err := temp.Write(tc.input) - require.Greater(t, bytesWritten, 0) + require.Positive(t, bytesWritten) require.NoError(t, err) require.NoError(t, operator.Start(testutil.NewUnscopedMockPersister())) defer func() { diff --git a/pkg/stanza/operator/input/journald/config_all.go b/pkg/stanza/operator/input/journald/config_all.go index e7af99b14f24..7e579a5a4d87 100644 --- a/pkg/stanza/operator/input/journald/config_all.go +++ b/pkg/stanza/operator/input/journald/config_all.go @@ -37,6 +37,7 @@ type Config struct { Grep string `mapstructure:"grep,omitempty"` Dmesg bool `mapstructure:"dmesg,omitempty"` All bool `mapstructure:"all,omitempty"` + Namespace string `mapstructure:"namespace,omitempty"` } type MatchConfig map[string]string diff --git a/pkg/stanza/operator/input/journald/config_linux.go b/pkg/stanza/operator/input/journald/config_linux.go index b8d62175f62e..489a62111514 100644 --- a/pkg/stanza/operator/input/journald/config_linux.go +++ b/pkg/stanza/operator/input/journald/config_linux.go @@ -40,10 +40,12 @@ func (c Config) Build(set component.TelemetrySettings) (operator.Operator, error return &Input{ InputOperator: inputOperator, newCmd: func(ctx context.Context, cursor []byte) cmd { + // Copy args and if needed, add the cursor flag + journalArgs := append([]string{}, args...) if cursor != nil { - args = append(args, "--after-cursor", string(cursor)) + journalArgs = append(journalArgs, "--after-cursor", string(cursor)) } - return exec.CommandContext(ctx, "journalctl", args...) // #nosec - ... + return exec.CommandContext(ctx, "journalctl", journalArgs...) // #nosec - ... // journalctl is an executable that is required for this operator to function }, json: jsoniter.ConfigFastest, @@ -88,6 +90,10 @@ func (c Config) buildArgs() ([]string, error) { args = append(args, "--dmesg") } + if len(c.Namespace) > 0 { + args = append(args, "--namespace", c.Namespace) + } + switch { case c.Directory != nil: args = append(args, "--directory", *c.Directory) diff --git a/pkg/stanza/operator/input/journald/input.go b/pkg/stanza/operator/input/journald/input.go index 2e4f80591451..f5758fab0ac9 100644 --- a/pkg/stanza/operator/input/journald/input.go +++ b/pkg/stanza/operator/input/journald/input.go @@ -13,7 +13,6 @@ import ( "io" "os/exec" "strconv" - "strings" "sync" "time" @@ -35,6 +34,7 @@ type Input struct { json jsoniter.API cancel context.CancelFunc wg sync.WaitGroup + errChan chan error } type cmd interface { @@ -44,9 +44,10 @@ type cmd interface { Wait() error } -type failedCommand struct { - err string - output string +type journalctl struct { + cmd cmd + stdout io.ReadCloser + stderr io.ReadCloser } var lastReadCursorKey = "lastReadCursor" @@ -56,65 +57,100 @@ func (operator *Input) Start(persister operator.Persister) error { ctx, cancel := context.WithCancel(context.Background()) operator.cancel = cancel + operator.persister = persister + operator.errChan = make(chan error) + + go operator.run(ctx) + + select { + case err := <-operator.errChan: + return fmt.Errorf("journalctl command failed: %w", err) + case <-time.After(waitDuration): + return nil + } +} + +// run starts the journalctl process and monitor it. +// If there is an error in operator.newJournalctl, the error will be sent to operator.errChan. +// If the journalctl process started successfully, but there is an error in operator.runJournalctl, +// The error will be logged and the journalctl process will be restarted. +func (operator *Input) run(ctx context.Context) { + for { + select { + case <-ctx.Done(): + return + default: + jctl, err := operator.newJournalctl(ctx) + // If we can't start journalctl, there is nothing we can do but logging the error and return. + if err != nil { + select { + case operator.errChan <- err: + case <-time.After(waitDuration): + operator.Logger().Error("Failed to init and start journalctl", zap.Error(err)) + } + return + } + + operator.Logger().Debug("Starting the journalctl command") + if err := operator.runJournalctl(ctx, jctl); err != nil { + ee := &exec.ExitError{} + if ok := errors.As(err, &ee); ok && ee.ExitCode() != 0 { + operator.Logger().Error("journalctl command exited", zap.Error(ee)) + } else { + operator.Logger().Info("journalctl command exited") + } + } + // Backoff before restart. + select { + case <-ctx.Done(): + return + case <-time.After(2 * time.Second): + } + } + } +} + +// newJournalctl creates a new journalctl command. +func (operator *Input) newJournalctl(ctx context.Context) (*journalctl, error) { // Start from a cursor if there is a saved offset - cursor, err := persister.Get(ctx, lastReadCursorKey) + cursor, err := operator.persister.Get(ctx, lastReadCursorKey) if err != nil { - return fmt.Errorf("failed to get journalctl state: %w", err) + return nil, fmt.Errorf("failed to get journalctl state: %w", err) } - operator.persister = persister - - // Start journalctl journal := operator.newCmd(ctx, cursor) - stdout, err := journal.StdoutPipe() - if err != nil { - return fmt.Errorf("failed to get journalctl stdout: %w", err) + jctl := &journalctl{ + cmd: journal, } - stderr, err := journal.StderrPipe() + + jctl.stdout, err = journal.StdoutPipe() if err != nil { - return fmt.Errorf("failed to get journalctl stderr: %w", err) + return nil, fmt.Errorf("failed to get journalctl stdout: %w", err) } - err = journal.Start() + jctl.stderr, err = journal.StderrPipe() if err != nil { - return fmt.Errorf("start journalctl: %w", err) + return nil, fmt.Errorf("failed to get journalctl stderr: %w", err) } - stderrChan := make(chan string) - failedChan := make(chan failedCommand) - - // Start the wait goroutine - operator.wg.Add(1) - go func() { - defer operator.wg.Done() - err := journal.Wait() - message := <-stderrChan - - f := failedCommand{ - output: message, - } - - if err != nil { - ee := (&exec.ExitError{}) - if ok := errors.As(err, &ee); ok && ee.ExitCode() != 0 { - f.err = ee.Error() - } - } + if err = journal.Start(); err != nil { + return nil, fmt.Errorf("start journalctl: %w", err) + } - select { - case failedChan <- f: - // log an error in case channel is closed - case <-time.After(waitDuration): - operator.Logger().Error("journalctl command exited", zap.String("error", f.err), zap.String("output", f.output)) - } - }() + return jctl, nil +} - // Start the stderr reader goroutine +// runJournalctl runs the journalctl command. This is a blocking call that returns +// when the command exits. +func (operator *Input) runJournalctl(ctx context.Context, jctl *journalctl) error { + // Start the stderr reader goroutine. + // This goroutine reads the stderr from the journalctl process. If the + // process exits for any reason, then the stderr will be closed, this + // goroutine will get an EOF error and exit. operator.wg.Add(1) go func() { defer operator.wg.Done() - stderrBuf := bufio.NewReader(stderr) - messages := []string{} + stderrBuf := bufio.NewReader(jctl.stderr) for { line, err := stderrBuf.ReadBytes('\n') @@ -122,19 +158,22 @@ func (operator *Input) Start(persister operator.Persister) error { if !errors.Is(err, io.EOF) { operator.Logger().Error("Received error reading from journalctl stderr", zap.Error(err)) } - stderrChan <- strings.Join(messages, "\n") return } - messages = append(messages, string(line)) + operator.Logger().Error("Received from journalctl stderr", zap.ByteString("stderr", line)) } }() - // Start the reader goroutine + // Start the reader goroutine. + // This goroutine reads the stdout from the journalctl process, parses + // the data, and writes to output. If the journalctl process exits for + // any reason, then the stdout will be closed, this goroutine will get + // an EOF error and exits. operator.wg.Add(1) go func() { defer operator.wg.Done() - stdoutBuf := bufio.NewReader(stdout) + stdoutBuf := bufio.NewReader(jctl.stdout) for { line, err := stdoutBuf.ReadBytes('\n') @@ -159,16 +198,11 @@ func (operator *Input) Start(persister operator.Persister) error { } }() - // Wait waitDuration for eventual error - select { - case err := <-failedChan: - if err.err == "" { - return fmt.Errorf("journalctl command exited") - } - return fmt.Errorf("journalctl command failed (%v): %v", err.err, err.output) - case <-time.After(waitDuration): - return nil - } + // we wait for the reader goroutines to exit before calling Cmd.Wait(). + // As per documentation states, "It is thus incorrect to call Wait before all reads from the pipe have completed". + operator.wg.Wait() + + return jctl.cmd.Wait() } func (operator *Input) parseJournalEntry(line []byte) (*entry.Entry, string, error) { @@ -219,6 +253,5 @@ func (operator *Input) Stop() error { if operator.cancel != nil { operator.cancel() } - operator.wg.Wait() return nil } diff --git a/pkg/stanza/operator/input/journald/input_test.go b/pkg/stanza/operator/input/journald/input_test.go index 86c7319a9381..ae8f4548d6d6 100644 --- a/pkg/stanza/operator/input/journald/input_test.go +++ b/pkg/stanza/operator/input/journald/input_test.go @@ -8,6 +8,7 @@ package journald import ( "bytes" "context" + "errors" "io" "os/exec" "testing" @@ -17,6 +18,7 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" + "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/entry" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator" @@ -24,12 +26,13 @@ import ( ) type fakeJournaldCmd struct { - exitError *exec.ExitError - stdErr string + startError error + exitError *exec.ExitError + stdErr string } func (f *fakeJournaldCmd) Start() error { - return nil + return f.startError } func (f *fakeJournaldCmd) StdoutPipe() (io.ReadCloser, error) { @@ -73,8 +76,7 @@ func TestInputJournald(t *testing.T) { return &fakeJournaldCmd{} } - err = op.Start(testutil.NewUnscopedMockPersister()) - assert.EqualError(t, err, "journalctl command exited") + require.NoError(t, op.Start(testutil.NewUnscopedMockPersister())) defer func() { require.NoError(t, op.Stop()) }() @@ -198,6 +200,13 @@ func TestBuildConfig(t *testing.T) { }, Expected: []string{"--utc", "--output=json", "--follow", "--priority", "info", "--grep", "test_grep"}, }, + { + Name: "namespace", + Config: func(cfg *Config) { + cfg.Namespace = "foo" + }, + Expected: []string{"--utc", "--output=json", "--follow", "--priority", "info", "--namespace", "foo"}, + }, { Name: "dmesg", Config: func(cfg *Config) { @@ -236,6 +245,7 @@ func TestInputJournaldError(t *testing.T) { cfg.OutputIDs = []string{"output"} set := componenttest.NewNopTelemetrySettings() + set.Logger, _ = zap.NewDevelopment() op, err := cfg.Build(set) require.NoError(t, err) @@ -250,20 +260,12 @@ func TestInputJournaldError(t *testing.T) { op.(*Input).newCmd = func(_ context.Context, _ []byte) cmd { return &fakeJournaldCmd{ - exitError: &exec.ExitError{}, - stdErr: "stderr output\n", + exitError: &exec.ExitError{}, + startError: errors.New("fail to start"), } } err = op.Start(testutil.NewUnscopedMockPersister()) - assert.EqualError(t, err, "journalctl command failed (): stderr output\n") - defer func() { - require.NoError(t, op.Stop()) - }() - - select { - case <-received: - case <-time.After(time.Second): - require.FailNow(t, "Timed out waiting for entry to be read") - } + assert.EqualError(t, err, "journalctl command failed: start journalctl: fail to start") + require.NoError(t, op.Stop()) } diff --git a/pkg/stanza/operator/input/tcp/input_test.go b/pkg/stanza/operator/input/tcp/input_test.go index c0b0918a2fa7..7ddee6ced3f9 100644 --- a/pkg/stanza/operator/input/tcp/input_test.go +++ b/pkg/stanza/operator/input/tcp/input_test.go @@ -12,6 +12,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" @@ -435,13 +436,13 @@ func BenchmarkTCPInput(b *testing.B) { done := make(chan struct{}) go func() { conn, err := net.Dial("tcp", tcpInput.listener.Addr().String()) - require.NoError(b, err) + assert.NoError(b, err) defer func() { err := tcpInput.Stop() - require.NoError(b, err, "expected to stop tcp input operator without error") + assert.NoError(b, err, "expected to stop tcp input operator without error") err = conn.Close() - require.NoError(b, err, "expected to close connection without error") + assert.NoError(b, err, "expected to close connection without error") }() message := []byte("message\n") for { @@ -450,7 +451,7 @@ func BenchmarkTCPInput(b *testing.B) { return default: _, err := conn.Write(message) - require.NoError(b, err) + assert.NoError(b, err) } } }() diff --git a/pkg/stanza/operator/input/udp/input_test.go b/pkg/stanza/operator/input/udp/input_test.go index f3862d2a7edb..e7e7366067b0 100644 --- a/pkg/stanza/operator/input/udp/input_test.go +++ b/pkg/stanza/operator/input/udp/input_test.go @@ -10,6 +10,7 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/component/componenttest" @@ -229,9 +230,9 @@ func BenchmarkUDPInput(b *testing.B) { done := make(chan struct{}) go func() { conn, err := net.Dial("udp", udpInput.connection.LocalAddr().String()) - require.NoError(b, err) + assert.NoError(b, err) defer func() { - require.NoError(b, udpInput.Stop()) + assert.NoError(b, udpInput.Stop()) }() defer conn.Close() message := []byte("message\n") @@ -241,7 +242,7 @@ func BenchmarkUDPInput(b *testing.B) { return default: _, err := conn.Write(message) - require.NoError(b, err) + assert.NoError(b, err) } } }() diff --git a/pkg/stanza/operator/input/windows/bookmark_test.go b/pkg/stanza/operator/input/windows/bookmark_test.go index 988d6a3bc995..28a318243dab 100644 --- a/pkg/stanza/operator/input/windows/bookmark_test.go +++ b/pkg/stanza/operator/input/windows/bookmark_test.go @@ -14,16 +14,14 @@ import ( func TestBookmarkOpenPreexisting(t *testing.T) { bookmark := Bookmark{handle: 5} err := bookmark.Open("") - require.Error(t, err) - require.Contains(t, err.Error(), "bookmark handle is already open") + require.ErrorContains(t, err, "bookmark handle is already open") } func TestBookmarkOpenInvalidUTF8(t *testing.T) { bookmark := NewBookmark() invalidUTF8 := "\u0000" err := bookmark.Open(invalidUTF8) - require.Error(t, err) - require.Contains(t, err.Error(), "failed to convert bookmark xml to utf16") + require.ErrorContains(t, err, "failed to convert bookmark xml to utf16") } func TestBookmarkOpenSyscallFailure(t *testing.T) { @@ -31,8 +29,7 @@ func TestBookmarkOpenSyscallFailure(t *testing.T) { xml := "<\\bookmark>" createBookmarkProc = SimpleMockProc(0, 0, ErrorNotSupported) err := bookmark.Open(xml) - require.Error(t, err) - require.Contains(t, err.Error(), "failed to create bookmark handle from xml") + require.ErrorContains(t, err, "failed to create bookmark handle from xml") } func TestBookmarkOpenSuccess(t *testing.T) { @@ -49,8 +46,7 @@ func TestBookmarkUpdateFailureOnCreateSyscall(t *testing.T) { bookmark := NewBookmark() createBookmarkProc = SimpleMockProc(0, 0, ErrorNotSupported) err := bookmark.Update(event) - require.Error(t, err) - require.Contains(t, err.Error(), "syscall to `EvtCreateBookmark` failed") + require.ErrorContains(t, err, "syscall to `EvtCreateBookmark` failed") } func TestBookmarkUpdateFailureOnUpdateSyscall(t *testing.T) { @@ -59,8 +55,7 @@ func TestBookmarkUpdateFailureOnUpdateSyscall(t *testing.T) { createBookmarkProc = SimpleMockProc(1, 0, ErrorSuccess) updateBookmarkProc = SimpleMockProc(0, 0, ErrorNotSupported) err := bookmark.Update(event) - require.Error(t, err) - require.Contains(t, err.Error(), "syscall to `EvtUpdateBookmark` failed") + require.ErrorContains(t, err, "syscall to `EvtUpdateBookmark` failed") } func TestBookmarkUpdateSuccess(t *testing.T) { @@ -83,8 +78,7 @@ func TestBookmarkCloseSyscallFailure(t *testing.T) { bookmark := Bookmark{handle: 5} closeProc = SimpleMockProc(0, 0, ErrorNotSupported) err := bookmark.Close() - require.Error(t, err) - require.Contains(t, err.Error(), "failed to close bookmark handle") + require.ErrorContains(t, err, "failed to close bookmark handle") } func TestBookmarkCloseSuccess(t *testing.T) { @@ -99,8 +93,7 @@ func TestBookmarkRenderWhenClosed(t *testing.T) { bookmark := NewBookmark() buffer := NewBuffer() _, err := bookmark.Render(buffer) - require.Error(t, err) - require.Contains(t, err.Error(), "bookmark handle is not open") + require.ErrorContains(t, err, "bookmark handle is not open") } func TestBookmarkRenderInvalidSyscall(t *testing.T) { @@ -108,6 +101,5 @@ func TestBookmarkRenderInvalidSyscall(t *testing.T) { buffer := NewBuffer() renderProc = SimpleMockProc(0, 0, ErrorNotSupported) _, err := bookmark.Render(buffer) - require.Error(t, err) - require.Contains(t, err.Error(), "syscall to 'EvtRender' failed") + require.ErrorContains(t, err, "syscall to 'EvtRender' failed") } diff --git a/pkg/stanza/operator/input/windows/config_all.go b/pkg/stanza/operator/input/windows/config_all.go index a40ade8b6870..1952edf5c27f 100644 --- a/pkg/stanza/operator/input/windows/config_all.go +++ b/pkg/stanza/operator/input/windows/config_all.go @@ -28,14 +28,15 @@ func NewConfigWithID(operatorID string) *Config { // Config is the configuration of a windows event log operator. type Config struct { - helper.InputConfig `mapstructure:",squash"` - Channel string `mapstructure:"channel"` - MaxReads int `mapstructure:"max_reads,omitempty"` - StartAt string `mapstructure:"start_at,omitempty"` - PollInterval time.Duration `mapstructure:"poll_interval,omitempty"` - Raw bool `mapstructure:"raw,omitempty"` - ExcludeProviders []string `mapstructure:"exclude_providers,omitempty"` - Remote RemoteConfig `mapstructure:"remote,omitempty"` + helper.InputConfig `mapstructure:",squash"` + Channel string `mapstructure:"channel"` + MaxReads int `mapstructure:"max_reads,omitempty"` + StartAt string `mapstructure:"start_at,omitempty"` + PollInterval time.Duration `mapstructure:"poll_interval,omitempty"` + Raw bool `mapstructure:"raw,omitempty"` + SuppressRenderingInfo bool `mapstructure:"suppress_rendering_info,omitempty"` + ExcludeProviders []string `mapstructure:"exclude_providers,omitempty"` + Remote RemoteConfig `mapstructure:"remote,omitempty"` } // RemoteConfig is the configuration for a remote server. diff --git a/pkg/stanza/operator/input/windows/config_windows.go b/pkg/stanza/operator/input/windows/config_windows.go index 8b33bac9c5e1..72c5ec48f820 100644 --- a/pkg/stanza/operator/input/windows/config_windows.go +++ b/pkg/stanza/operator/input/windows/config_windows.go @@ -49,10 +49,24 @@ func (c *Config) Build(set component.TelemetrySettings) (operator.Operator, erro startAt: c.StartAt, pollInterval: c.PollInterval, raw: c.Raw, - excludeProviders: c.ExcludeProviders, + excludeProviders: excludeProvidersSet(c.ExcludeProviders), remote: c.Remote, } input.startRemoteSession = input.defaultStartRemoteSession + if c.SuppressRenderingInfo { + input.processEvent = input.processEventWithoutRenderingInfo + } else { + input.processEvent = input.processEventWithRenderingInfo + } + return input, nil } + +func excludeProvidersSet(providers []string) map[string]struct{} { + set := make(map[string]struct{}, len(providers)) + for _, provider := range providers { + set[provider] = struct{}{} + } + return set +} diff --git a/pkg/stanza/operator/input/windows/event.go b/pkg/stanza/operator/input/windows/event.go index 344eee57b905..c55703648d25 100644 --- a/pkg/stanza/operator/input/windows/event.go +++ b/pkg/stanza/operator/input/windows/event.go @@ -12,9 +12,6 @@ import ( "unsafe" ) -// errUnknownNextFrame is an error returned when a systemcall indicates the next frame is 0 bytes. -var errUnknownNextFrame = errors.New("the buffer size needed by the next frame of a render syscall was 0, unable to determine size of next frame") - // systemPropertiesRenderContext stores a custom rendering context to get only the event properties. var systemPropertiesRenderContext = uintptr(0) var systemPropertiesRenderContextErr error @@ -72,54 +69,54 @@ func utf16PtrToString(s *uint16) string { return string(utf16.Decode(slice)) } +// NewEvent will create a new event from an event handle. +func NewEvent(handle uintptr) Event { + return Event{ + handle: handle, + } +} + // RenderSimple will render the event as EventXML without formatted info. -func (e *Event) RenderSimple(buffer Buffer) (EventXML, error) { +func (e *Event) RenderSimple(buffer Buffer) (*EventXML, error) { if e.handle == 0 { - return EventXML{}, fmt.Errorf("event handle does not exist") + return nil, fmt.Errorf("event handle does not exist") } bufferUsed, err := evtRender(0, e.handle, EvtRenderEventXML, buffer.SizeBytes(), buffer.FirstByte()) - if errors.Is(err, ErrorInsufficientBuffer) { - buffer.UpdateSizeBytes(*bufferUsed) - return e.RenderSimple(buffer) - } - if err != nil { - return EventXML{}, fmt.Errorf("syscall to 'EvtRender' failed: %w", err) + if errors.Is(err, ErrorInsufficientBuffer) { + buffer.UpdateSizeBytes(*bufferUsed) + return e.RenderSimple(buffer) + } + return nil, fmt.Errorf("syscall to 'EvtRender' failed: %w", err) } bytes, err := buffer.ReadBytes(*bufferUsed) if err != nil { - return EventXML{}, fmt.Errorf("failed to read bytes from buffer: %w", err) + return nil, fmt.Errorf("failed to read bytes from buffer: %w", err) } return unmarshalEventXML(bytes) } -// RenderFormatted will render the event as EventXML with formatted info. -func (e *Event) RenderFormatted(buffer Buffer, publisher Publisher) (EventXML, error) { +// RenderDeep will render the event as EventXML with all available formatted info. +func (e *Event) RenderDeep(buffer Buffer, publisher Publisher) (*EventXML, error) { if e.handle == 0 { - return EventXML{}, fmt.Errorf("event handle does not exist") + return nil, fmt.Errorf("event handle does not exist") } bufferUsed, err := evtFormatMessage(publisher.handle, e.handle, 0, 0, 0, EvtFormatMessageXML, buffer.SizeWide(), buffer.FirstByte()) - if errors.Is(err, ErrorInsufficientBuffer) { - // If the bufferUsed is 0 return an error as we don't want to make a recursive call with no buffer - if *bufferUsed == 0 { - return EventXML{}, errUnknownNextFrame - } - - buffer.UpdateSizeWide(*bufferUsed) - return e.RenderFormatted(buffer, publisher) - } - if err != nil { - return EventXML{}, fmt.Errorf("syscall to 'EvtFormatMessage' failed: %w", err) + if errors.Is(err, ErrorInsufficientBuffer) { + buffer.UpdateSizeWide(*bufferUsed) + return e.RenderDeep(buffer, publisher) + } + return nil, fmt.Errorf("syscall to 'EvtFormatMessage' failed: %w", err) } bytes, err := buffer.ReadWideChars(*bufferUsed) if err != nil { - return EventXML{}, fmt.Errorf("failed to read bytes from buffer: %w", err) + return nil, fmt.Errorf("failed to read bytes from buffer: %w", err) } return unmarshalEventXML(bytes) @@ -138,33 +135,3 @@ func (e *Event) Close() error { e.handle = 0 return nil } - -func (e *Event) RenderRaw(buffer Buffer) (EventRaw, error) { - if e.handle == 0 { - return EventRaw{}, fmt.Errorf("event handle does not exist") - } - - bufferUsed, err := evtRender(0, e.handle, EvtRenderEventXML, buffer.SizeBytes(), buffer.FirstByte()) - if errors.Is(err, ErrorInsufficientBuffer) { - // If the bufferUsed is 0 return an error as we don't want to make a recursive call with no buffer - if *bufferUsed == 0 { - return EventRaw{}, errUnknownNextFrame - } - - buffer.UpdateSizeBytes(*bufferUsed) - return e.RenderRaw(buffer) - } - bytes, err := buffer.ReadBytes(*bufferUsed) - if err != nil { - return EventRaw{}, fmt.Errorf("failed to read bytes from buffer: %w", err) - } - - return unmarshalEventRaw(bytes) -} - -// NewEvent will create a new event from an event handle. -func NewEvent(handle uintptr) Event { - return Event{ - handle: handle, - } -} diff --git a/pkg/stanza/operator/input/windows/event_test.go b/pkg/stanza/operator/input/windows/event_test.go index 0acc6240c62c..4650cdf736ce 100644 --- a/pkg/stanza/operator/input/windows/event_test.go +++ b/pkg/stanza/operator/input/windows/event_test.go @@ -21,8 +21,7 @@ func TestEventCloseSyscallFailure(t *testing.T) { event := NewEvent(5) closeProc = SimpleMockProc(0, 0, ErrorNotSupported) err := event.Close() - require.Error(t, err) - require.Contains(t, err.Error(), "failed to close event handle") + require.ErrorContains(t, err, "failed to close event handle") } func TestEventCloseSuccess(t *testing.T) { diff --git a/pkg/stanza/operator/input/windows/input.go b/pkg/stanza/operator/input/windows/input.go index 9fd525dcaa76..76d79bbfa12e 100644 --- a/pkg/stanza/operator/input/windows/input.go +++ b/pkg/stanza/operator/input/windows/input.go @@ -29,7 +29,7 @@ type Input struct { maxReads int startAt string raw bool - excludeProviders []string + excludeProviders map[string]struct{} pollInterval time.Duration persister operator.Persister publisherCache publisherCache @@ -39,6 +39,7 @@ type Input struct { remote RemoteConfig remoteSessionHandle windows.Handle startRemoteSession func() error + processEvent func(context.Context, Event) error } // newInput creates a new Input operator. @@ -171,7 +172,7 @@ func (i *Input) Stop() error { return i.stopRemoteSession() } -// readOnInterval will read events with respect to the polling interval. +// readOnInterval will read events with respect to the polling interval until it reaches the end of the channel. func (i *Input) readOnInterval(ctx context.Context) { defer i.wg.Done() @@ -183,143 +184,134 @@ func (i *Input) readOnInterval(ctx context.Context) { case <-ctx.Done(): return case <-ticker.C: - i.readToEnd(ctx) - } - } -} - -// readToEnd will read events from the subscription until it reaches the end of the channel. -func (i *Input) readToEnd(ctx context.Context) { - for { - select { - case <-ctx.Done(): - return - default: - if count := i.read(ctx); count == 0 { - if i.isRemote() { - if err := i.startRemoteSession(); err != nil { - i.Logger().Error("Failed to re-establish remote session", zap.String("server", i.remote.Server), zap.Error(err)) - return - } - if err := i.subscription.Open(i.startAt, uintptr(i.remoteSessionHandle), i.channel, i.bookmark); err != nil { - i.Logger().Error("Failed to re-open subscription for remote server", zap.String("server", i.remote.Server), zap.Error(err)) - } - } - return - } + i.read(ctx) } } } // read will read events from the subscription. -func (i *Input) read(ctx context.Context) int { +func (i *Input) read(ctx context.Context) { events, err := i.subscription.Read(i.maxReads) if err != nil { i.Logger().Error("Failed to read events from subscription", zap.Error(err)) - return 0 + if i.isRemote() && (errors.Is(err, windows.ERROR_INVALID_HANDLE) || errors.Is(err, errSubscriptionHandleNotOpen)) { + i.Logger().Info("Resubscribing, closing remote subscription") + closeErr := i.subscription.Close() + if closeErr != nil { + i.Logger().Error("Failed to close remote subscription", zap.Error(closeErr)) + return + } + if err := i.stopRemoteSession(); err != nil { + i.Logger().Error("Failed to close remote session", zap.Error(err)) + } + i.Logger().Info("Resubscribing, creating remote subscription") + i.subscription = NewRemoteSubscription(i.remote.Server) + if err := i.startRemoteSession(); err != nil { + i.Logger().Error("Failed to re-establish remote session", zap.String("server", i.remote.Server), zap.Error(err)) + return + } + if err := i.subscription.Open(i.startAt, uintptr(i.remoteSessionHandle), i.channel, i.bookmark); err != nil { + i.Logger().Error("Failed to re-open subscription for remote server", zap.String("server", i.remote.Server), zap.Error(err)) + return + } + } + return } for n, event := range events { - i.processEvent(ctx, event) + if err := i.processEvent(ctx, event); err != nil { + i.Logger().Error("process event", zap.Error(err)) + } if len(events) == n+1 { i.updateBookmarkOffset(ctx, event) } event.Close() } - - return len(events) } -// processEvent will process and send an event retrieved from windows event log. -func (i *Input) processEvent(ctx context.Context, event Event) { - remoteServer := i.remote.Server - - var providerName string // The provider name is only retrieved if needed. - if !i.raw || len(i.excludeProviders) > 0 { - var err error - providerName, err = event.GetPublisherName(i.buffer) - if err != nil { - i.Logger().Error("Failed to get provider name", zap.Error(err)) - return - } +func (i *Input) getPublisherName(event Event) (name string, excluded bool) { + providerName, err := event.GetPublisherName(i.buffer) + if err != nil { + i.Logger().Error("Failed to get provider name", zap.Error(err)) + return "", true } - - if len(i.excludeProviders) > 0 { - for _, excludeProvider := range i.excludeProviders { - if providerName == excludeProvider { - return - } - } + if _, exclude := i.excludeProviders[providerName]; exclude { + return "", true } - if i.raw { - rawEvent, err := event.RenderRaw(i.buffer) - if err != nil { - i.Logger().Error("Failed to render raw event", zap.Error(err)) - return - } + return providerName, false +} - rawEvent.RemoteServer = remoteServer - i.sendEventRaw(ctx, rawEvent) - return +func (i *Input) renderSimpleAndSend(ctx context.Context, event Event) error { + simpleEvent, err := event.RenderSimple(i.buffer) + if err != nil { + return fmt.Errorf("render simple event: %w", err) } + return i.sendEvent(ctx, simpleEvent) +} - publisher, openPublisherErr := i.publisherCache.get(providerName) - if openPublisherErr != nil { - // This happens only the first time the code fails to open the publisher. - i.Logger().Warn( - "Failed to open event source, respective log entries cannot be formatted", - zap.String("provider", providerName), zap.Error(openPublisherErr)) +func (i *Input) renderDeepAndSend(ctx context.Context, event Event, publisher Publisher) error { + deepEvent, err := event.RenderDeep(i.buffer, publisher) + if err == nil { + return i.sendEvent(ctx, deepEvent) } + return errors.Join( + fmt.Errorf("render deep event: %w", err), + i.renderSimpleAndSend(ctx, event), + ) +} - if publisher.Valid() { - formattedEvent, err := event.RenderFormatted(i.buffer, publisher) - if err == nil { - formattedEvent.RemoteServer = remoteServer - i.sendEvent(ctx, formattedEvent) - return - } +// processEvent will process and send an event retrieved from windows event log. +func (i *Input) processEventWithoutRenderingInfo(ctx context.Context, event Event) error { + if len(i.excludeProviders) == 0 { + return i.renderSimpleAndSend(ctx, event) + } + if _, exclude := i.getPublisherName(event); exclude { + return nil + } + return i.renderSimpleAndSend(ctx, event) +} - i.Logger().Error("Failed to render formatted event", zap.Error(err)) +func (i *Input) processEventWithRenderingInfo(ctx context.Context, event Event) error { + providerName, exclude := i.getPublisherName(event) + if exclude { + return nil } - // Falling back to simple event (non-formatted). - simpleEvent, err := event.RenderSimple(i.buffer) + publisher, err := i.publisherCache.get(providerName) if err != nil { - i.Logger().Error("Failed to render simple event", zap.Error(err)) - return + return errors.Join( + fmt.Errorf("open event source for provider %q: %w", providerName, err), + i.renderSimpleAndSend(ctx, event), + ) } - simpleEvent.RemoteServer = remoteServer - i.sendEvent(ctx, simpleEvent) + if publisher.Valid() { + return i.renderDeepAndSend(ctx, event, publisher) + } + return i.renderSimpleAndSend(ctx, event) } // sendEvent will send EventXML as an entry to the operator's output. -func (i *Input) sendEvent(ctx context.Context, eventXML EventXML) { - body := eventXML.parseBody() - entry, err := i.NewEntry(body) +func (i *Input) sendEvent(ctx context.Context, eventXML *EventXML) error { + var body any = eventXML.Original + if !i.raw { + body = formattedBody(eventXML) + } + + e, err := i.NewEntry(body) if err != nil { - i.Logger().Error("Failed to create entry", zap.Error(err)) - return + return fmt.Errorf("create entry: %w", err) } - entry.Timestamp = eventXML.parseTimestamp() - entry.Severity = eventXML.parseRenderedSeverity() - _ = i.Write(ctx, entry) -} + e.Timestamp = parseTimestamp(eventXML.TimeCreated.SystemTime) + e.Severity = parseSeverity(eventXML.RenderedLevel, eventXML.Level) -// sendEventRaw will send EventRaw as an entry to the operator's output. -func (i *Input) sendEventRaw(ctx context.Context, eventRaw EventRaw) { - body := eventRaw.parseBody() - entry, err := i.NewEntry(body) - if err != nil { - i.Logger().Error("Failed to create entry", zap.Error(err)) - return + if i.remote.Server != "" { + e.Attributes["server.address"] = i.remote.Server } - entry.Timestamp = eventRaw.parseTimestamp() - entry.Severity = eventRaw.parseRenderedSeverity() - _ = i.Write(ctx, entry) + return i.Write(ctx, e) } // getBookmarkXML will get the bookmark xml from the offsets database. diff --git a/pkg/stanza/operator/input/windows/input_test.go b/pkg/stanza/operator/input/windows/input_test.go index 4597a924d74f..6d530f89bca1 100644 --- a/pkg/stanza/operator/input/windows/input_test.go +++ b/pkg/stanza/operator/input/windows/input_test.go @@ -34,8 +34,7 @@ func TestInputStart_LocalSubscriptionError(t *testing.T) { input.pollInterval = 1 * time.Second err := input.Start(persister) - assert.Error(t, err) - assert.Contains(t, err.Error(), "The specified channel could not be found") + assert.ErrorContains(t, err, "The specified channel could not be found") } // TestInputStart_RemoteSubscriptionError ensures the input correctly handles remote subscription errors. @@ -52,8 +51,7 @@ func TestInputStart_RemoteSubscriptionError(t *testing.T) { } err := input.Start(persister) - assert.Error(t, err) - assert.Contains(t, err.Error(), "The specified channel could not be found") + assert.ErrorContains(t, err, "The specified channel could not be found") } // TestInputStart_RemoteSessionError ensures the input correctly handles remote session errors. @@ -72,8 +70,7 @@ func TestInputStart_RemoteSessionError(t *testing.T) { } err := input.Start(persister) - assert.Error(t, err) - assert.Contains(t, err.Error(), "failed to start remote session for server remote-server: remote session error") + assert.ErrorContains(t, err, "failed to start remote session for server remote-server: remote session error") } // TestInputStart_RemoteAccessDeniedError ensures the input correctly handles remote access denied errors. @@ -97,9 +94,8 @@ func TestInputStart_RemoteAccessDeniedError(t *testing.T) { } err := input.Start(persister) - assert.Error(t, err) - assert.Contains(t, err.Error(), "failed to open subscription for remote server") - assert.Contains(t, err.Error(), "Access is denied") + assert.ErrorContains(t, err, "failed to open subscription for remote server") + assert.ErrorContains(t, err, "Access is denied") } // TestInputStart_BadChannelName ensures the input correctly handles bad channel names. @@ -123,7 +119,6 @@ func TestInputStart_BadChannelName(t *testing.T) { } err := input.Start(persister) - assert.Error(t, err) - assert.Contains(t, err.Error(), "failed to open subscription for remote server") - assert.Contains(t, err.Error(), "The specified channel could not be found") + assert.ErrorContains(t, err, "failed to open subscription for remote server") + assert.ErrorContains(t, err, "The specified channel could not be found") } diff --git a/pkg/stanza/operator/input/windows/publisher_test.go b/pkg/stanza/operator/input/windows/publisher_test.go index 1a061d976aa5..75ca47798d20 100644 --- a/pkg/stanza/operator/input/windows/publisher_test.go +++ b/pkg/stanza/operator/input/windows/publisher_test.go @@ -13,9 +13,8 @@ import ( func TestPublisherOpenPreexisting(t *testing.T) { publisher := Publisher{handle: 5} - err := publisher.Open("") - require.Error(t, err) - require.Contains(t, err.Error(), "publisher handle is already open") + err := publisher.Open("provider_name_does_not_matter_for_this_test") + require.ErrorContains(t, err, "publisher handle is already open") require.True(t, publisher.Valid()) } @@ -23,8 +22,7 @@ func TestPublisherOpenInvalidUTF8(t *testing.T) { publisher := NewPublisher() invalidUTF8 := "\u0000" err := publisher.Open(invalidUTF8) - require.Error(t, err) - require.Contains(t, err.Error(), "failed to convert the provider name \"\\x00\" to utf16: invalid argument") + require.ErrorContains(t, err, "failed to convert the provider name \"\\x00\" to utf16: invalid argument") require.False(t, publisher.Valid()) } @@ -33,8 +31,7 @@ func TestPublisherOpenSyscallFailure(t *testing.T) { provider := "provider" defer mockWithDeferredRestore(&openPublisherMetadataProc, SimpleMockProc(0, 0, ErrorNotSupported))() err := publisher.Open(provider) - require.Error(t, err) - require.Contains(t, err.Error(), "failed to open the metadata for the \"provider\" provider: The request is not supported.") + require.ErrorContains(t, err, "failed to open the metadata for the \"provider\" provider: The request is not supported.") require.False(t, publisher.Valid()) } @@ -59,8 +56,7 @@ func TestPublisherCloseSyscallFailure(t *testing.T) { publisher := Publisher{handle: 5} defer mockWithDeferredRestore(&closeProc, SimpleMockProc(0, 0, ErrorNotSupported))() err := publisher.Close() - require.Error(t, err) - require.Contains(t, err.Error(), "failed to close publisher") + require.ErrorContains(t, err, "failed to close publisher") require.True(t, publisher.Valid()) } diff --git a/pkg/stanza/operator/input/windows/publishercache.go b/pkg/stanza/operator/input/windows/publishercache.go index d9e08c3e2f98..f00b8406528c 100644 --- a/pkg/stanza/operator/input/windows/publishercache.go +++ b/pkg/stanza/operator/input/windows/publishercache.go @@ -19,14 +19,19 @@ func newPublisherCache() publisherCache { } } -func (c *publisherCache) get(provider string) (publisher Publisher, openPublisherErr error) { +func (c *publisherCache) get(provider string) (Publisher, error) { publisher, ok := c.cache[provider] if ok { return publisher, nil } + var err error publisher = NewPublisher() - err := publisher.Open(provider) + if provider != "" { + // If the provider is empty, there is nothing to be formatted on the event + // keep the invalid publisher in the cache. See issue #35135 + err = publisher.Open(provider) + } // Always store the publisher even if there was an error opening it. c.cache[provider] = publisher diff --git a/pkg/stanza/operator/input/windows/publishercache_test.go b/pkg/stanza/operator/input/windows/publishercache_test.go index 92a2b29f6c63..3a3e07e7601d 100644 --- a/pkg/stanza/operator/input/windows/publishercache_test.go +++ b/pkg/stanza/operator/input/windows/publishercache_test.go @@ -45,6 +45,22 @@ func TestGetInvalidPublisher(t *testing.T) { require.False(t, publisher.Valid()) } +func TestEmptyPublisherNameBehavior(t *testing.T) { + publisherCache := newPublisherCache() + defer func() { + require.NoError(t, publisherCache.evictAll()) + }() + + publisher, openPublisherErr := publisherCache.get("") + require.NoError(t, openPublisherErr) // There should be no error for an empty provider. + require.False(t, publisher.Valid()) + + // Checked that the cached version works as expected. + publisher, openPublisherErr = publisherCache.get("") + require.NoError(t, openPublisherErr) + require.False(t, publisher.Valid()) +} + func TestValidAndInvalidPublishers(t *testing.T) { publisherCache := newPublisherCache() defer func() { diff --git a/pkg/stanza/operator/input/windows/raw.go b/pkg/stanza/operator/input/windows/raw.go deleted file mode 100644 index 7a489b4b1be0..000000000000 --- a/pkg/stanza/operator/input/windows/raw.go +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package windows // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/input/windows" - -import ( - "encoding/xml" - "fmt" - "time" - - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/entry" -) - -// EventRaw is the rendered xml of an event, however, its message is the original XML of the entire event. -type EventRaw struct { - TimeCreated TimeCreated `xml:"System>TimeCreated"` - RenderedLevel string `xml:"RenderingInfo>Level"` - Level string `xml:"System>Level"` - Body string `xml:"-"` - RemoteServer string `xml:"RemoteServer,omitempty"` -} - -// parseTimestamp will parse the timestamp of the event. -func (e *EventRaw) parseTimestamp() time.Time { - if timestamp, err := time.Parse(time.RFC3339Nano, e.TimeCreated.SystemTime); err == nil { - return timestamp - } - return time.Now() -} - -// parseRenderedSeverity will parse the severity of the event. -func (e *EventRaw) parseRenderedSeverity() entry.Severity { - switch e.RenderedLevel { - case "": - return e.parseSeverity() - case "Critical": - return entry.Fatal - case "Error": - return entry.Error - case "Warning": - return entry.Warn - case "Information": - return entry.Info - default: - return entry.Default - } -} - -// parseSeverity will parse the severity of the event when RenderingInfo is not populated -func (e *EventRaw) parseSeverity() entry.Severity { - switch e.Level { - case "1": - return entry.Fatal - case "2": - return entry.Error - case "3": - return entry.Warn - case "4": - return entry.Info - default: - return entry.Default - } -} - -// parseBody will parse a body from the event. -func (e *EventRaw) parseBody() string { - return e.Body -} - -// unmarshalEventRaw will unmarshal EventRaw from xml bytes. -func unmarshalEventRaw(bytes []byte) (EventRaw, error) { - var eventRaw EventRaw - if err := xml.Unmarshal(bytes, &eventRaw); err != nil { - return EventRaw{}, fmt.Errorf("failed to unmarshal xml bytes into event: %w (%s)", err, string(bytes)) - } - eventRaw.Body = string(bytes) - return eventRaw, nil -} diff --git a/pkg/stanza/operator/input/windows/raw_test.go b/pkg/stanza/operator/input/windows/raw_test.go deleted file mode 100644 index 10e36d9154ee..000000000000 --- a/pkg/stanza/operator/input/windows/raw_test.go +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package windows - -import ( - "os" - "path/filepath" - "testing" - "time" - - "github.com/stretchr/testify/require" - - "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/entry" -) - -func TestParseValidTimestampRaw(t *testing.T) { - raw := EventRaw{ - TimeCreated: TimeCreated{ - SystemTime: "2020-07-30T01:01:01.123456789Z", - }, - } - timestamp := raw.parseTimestamp() - expected, _ := time.Parse(time.RFC3339Nano, "2020-07-30T01:01:01.123456789Z") - require.Equal(t, expected, timestamp) -} - -func TestParseInvalidTimestampRaw(t *testing.T) { - raw := EventRaw{ - TimeCreated: TimeCreated{ - SystemTime: "invalid", - }, - } - timestamp := raw.parseTimestamp() - require.Equal(t, time.Now().Year(), timestamp.Year()) - require.Equal(t, time.Now().Month(), timestamp.Month()) - require.Equal(t, time.Now().Day(), timestamp.Day()) -} - -func TestParseSeverityRaw(t *testing.T) { - rawRenderedCritical := EventRaw{RenderedLevel: "Critical"} - rawRenderedError := EventRaw{RenderedLevel: "Error"} - rawRenderedWarning := EventRaw{RenderedLevel: "Warning"} - rawRenderedInformation := EventRaw{RenderedLevel: "Information"} - rawRenderedUnknown := EventRaw{RenderedLevel: "Unknown"} - rawCritical := EventRaw{Level: "1"} - rawError := EventRaw{Level: "2"} - rawWarning := EventRaw{Level: "3"} - rawInformation := EventRaw{Level: "4"} - rawUnknown := EventRaw{Level: "0"} - require.Equal(t, entry.Fatal, rawRenderedCritical.parseRenderedSeverity()) - require.Equal(t, entry.Error, rawRenderedError.parseRenderedSeverity()) - require.Equal(t, entry.Warn, rawRenderedWarning.parseRenderedSeverity()) - require.Equal(t, entry.Info, rawRenderedInformation.parseRenderedSeverity()) - require.Equal(t, entry.Default, rawRenderedUnknown.parseRenderedSeverity()) - require.Equal(t, entry.Fatal, rawCritical.parseRenderedSeverity()) - require.Equal(t, entry.Error, rawError.parseRenderedSeverity()) - require.Equal(t, entry.Warn, rawWarning.parseRenderedSeverity()) - require.Equal(t, entry.Info, rawInformation.parseRenderedSeverity()) - require.Equal(t, entry.Default, rawUnknown.parseRenderedSeverity()) -} - -func TestParseBodyRaw(t *testing.T) { - raw := EventRaw{ - Body: "foo", - } - - require.Equal(t, "foo", raw.parseBody()) -} - -func TestInvalidUnmarshalRaw(t *testing.T) { - _, err := unmarshalEventRaw([]byte("Test \n Invalid \t Unmarshal")) - require.Error(t, err) - -} - -func TestUnmarshalRaw(t *testing.T) { - data, err := os.ReadFile(filepath.Join("testdata", "xmlSample.xml")) - require.NoError(t, err) - - event, err := unmarshalEventRaw(data) - require.NoError(t, err) - - raw := EventRaw{ - TimeCreated: TimeCreated{ - SystemTime: "2022-04-22T10:20:52.3778625Z", - }, - Level: "4", - Body: string(data), - } - - require.Equal(t, raw, event) -} diff --git a/pkg/stanza/operator/input/windows/subscription.go b/pkg/stanza/operator/input/windows/subscription.go index d2aba4555460..32bded038afe 100644 --- a/pkg/stanza/operator/input/windows/subscription.go +++ b/pkg/stanza/operator/input/windows/subscription.go @@ -64,10 +64,12 @@ func (s *Subscription) Close() error { return nil } +var errSubscriptionHandleNotOpen = errors.New("subscription handle is not open") + // Read will read events from the subscription. func (s *Subscription) Read(maxReads int) ([]Event, error) { if s.handle == 0 { - return nil, fmt.Errorf("subscription handle is not open") + return nil, errSubscriptionHandleNotOpen } if maxReads < 1 { diff --git a/pkg/stanza/operator/input/windows/xml.go b/pkg/stanza/operator/input/windows/xml.go index dcfe4199f35c..18cfc65a0ccb 100644 --- a/pkg/stanza/operator/input/windows/xml.go +++ b/pkg/stanza/operator/input/windows/xml.go @@ -13,6 +13,7 @@ import ( // EventXML is the rendered xml of an event. type EventXML struct { + Original string `xml:"-"` EventID EventID `xml:"System>EventID"` Provider Provider `xml:"System>Provider"` Computer string `xml:"System>Computer"` @@ -31,22 +32,32 @@ type EventXML struct { Security *Security `xml:"System>Security"` Execution *Execution `xml:"System>Execution"` EventData EventData `xml:"EventData"` - RemoteServer string `xml:"RemoteServer,omitempty"` } // parseTimestamp will parse the timestamp of the event. -func (e *EventXML) parseTimestamp() time.Time { - if timestamp, err := time.Parse(time.RFC3339Nano, e.TimeCreated.SystemTime); err == nil { +func parseTimestamp(ts string) time.Time { + if timestamp, err := time.Parse(time.RFC3339Nano, ts); err == nil { return timestamp } return time.Now() } // parseRenderedSeverity will parse the severity of the event. -func (e *EventXML) parseRenderedSeverity() entry.Severity { - switch e.RenderedLevel { +func parseSeverity(renderedLevel, level string) entry.Severity { + switch renderedLevel { case "": - return e.parseSeverity() + switch level { + case "1": + return entry.Fatal + case "2": + return entry.Error + case "3": + return entry.Warn + case "4": + return entry.Info + default: + return entry.Default + } case "Critical": return entry.Fatal case "Error": @@ -60,25 +71,9 @@ func (e *EventXML) parseRenderedSeverity() entry.Severity { } } -// parseSeverity will parse the severity of the event when RenderingInfo is not populated -func (e *EventXML) parseSeverity() entry.Severity { - switch e.Level { - case "1": - return entry.Fatal - case "2": - return entry.Error - case "3": - return entry.Warn - case "4": - return entry.Info - default: - return entry.Default - } -} - -// parseBody will parse a body from the event. -func (e *EventXML) parseBody() map[string]any { - message, details := e.parseMessage() +// formattedBody will parse a body from the event. +func formattedBody(e *EventXML) map[string]any { + message, details := parseMessage(e.Channel, e.Message) level := e.RenderedLevel if level == "" { @@ -122,10 +117,6 @@ func (e *EventXML) parseBody() map[string]any { "event_data": parseEventData(e.EventData), } - if e.RemoteServer != "" { - body["remote_server"] = e.RemoteServer - } - if len(details) > 0 { body["details"] = details } @@ -144,12 +135,12 @@ func (e *EventXML) parseBody() map[string]any { } // parseMessage will attempt to parse a message into a message and details -func (e *EventXML) parseMessage() (string, map[string]any) { - switch e.Channel { +func parseMessage(channel, message string) (string, map[string]any) { + switch channel { case "Security": - return parseSecurity(e.Message) + return parseSecurity(message) default: - return e.Message, nil + return message, nil } } @@ -180,15 +171,6 @@ func parseEventData(eventData EventData) map[string]any { return outputMap } -// unmarshalEventXML will unmarshal EventXML from xml bytes. -func unmarshalEventXML(bytes []byte) (EventXML, error) { - var eventXML EventXML - if err := xml.Unmarshal(bytes, &eventXML); err != nil { - return EventXML{}, fmt.Errorf("failed to unmarshal xml bytes into event: %w (%s)", err, string(bytes)) - } - return eventXML, nil -} - // EventID is the identifier of the event. type EventID struct { Qualifiers uint16 `xml:"Qualifiers,attr"` @@ -267,3 +249,13 @@ func (e Execution) asMap() map[string]any { return result } + +// unmarshalEventXML will unmarshal EventXML from xml bytes. +func unmarshalEventXML(bytes []byte) (*EventXML, error) { + var eventXML EventXML + if err := xml.Unmarshal(bytes, &eventXML); err != nil { + return nil, fmt.Errorf("failed to unmarshal xml bytes into event: %w (%s)", err, string(bytes)) + } + eventXML.Original = string(bytes) + return &eventXML, nil +} diff --git a/pkg/stanza/operator/input/windows/xml_test.go b/pkg/stanza/operator/input/windows/xml_test.go index 622cc99eb053..41991daac2cd 100644 --- a/pkg/stanza/operator/input/windows/xml_test.go +++ b/pkg/stanza/operator/input/windows/xml_test.go @@ -15,53 +15,33 @@ import ( ) func TestParseValidTimestamp(t *testing.T) { - xml := EventXML{ - TimeCreated: TimeCreated{ - SystemTime: "2020-07-30T01:01:01.123456789Z", - }, - } - timestamp := xml.parseTimestamp() + timestamp := parseTimestamp("2020-07-30T01:01:01.123456789Z") expected, _ := time.Parse(time.RFC3339Nano, "2020-07-30T01:01:01.123456789Z") require.Equal(t, expected, timestamp) } func TestParseInvalidTimestamp(t *testing.T) { - xml := EventXML{ - TimeCreated: TimeCreated{ - SystemTime: "invalid", - }, - } - timestamp := xml.parseTimestamp() + timestamp := parseTimestamp("invalid") require.Equal(t, time.Now().Year(), timestamp.Year()) require.Equal(t, time.Now().Month(), timestamp.Month()) require.Equal(t, time.Now().Day(), timestamp.Day()) } func TestParseSeverity(t *testing.T) { - xmlRenderedCritical := EventXML{RenderedLevel: "Critical"} - xmlRenderedError := EventXML{RenderedLevel: "Error"} - xmlRenderedWarning := EventXML{RenderedLevel: "Warning"} - xmlRenderedInformation := EventXML{RenderedLevel: "Information"} - xmlRenderedUnknown := EventXML{RenderedLevel: "Unknown"} - xmlCritical := EventXML{Level: "1"} - xmlError := EventXML{Level: "2"} - xmlWarning := EventXML{Level: "3"} - xmlInformation := EventXML{Level: "4"} - xmlUnknown := EventXML{Level: "0"} - require.Equal(t, entry.Fatal, xmlRenderedCritical.parseRenderedSeverity()) - require.Equal(t, entry.Error, xmlRenderedError.parseRenderedSeverity()) - require.Equal(t, entry.Warn, xmlRenderedWarning.parseRenderedSeverity()) - require.Equal(t, entry.Info, xmlRenderedInformation.parseRenderedSeverity()) - require.Equal(t, entry.Default, xmlRenderedUnknown.parseRenderedSeverity()) - require.Equal(t, entry.Fatal, xmlCritical.parseRenderedSeverity()) - require.Equal(t, entry.Error, xmlError.parseRenderedSeverity()) - require.Equal(t, entry.Warn, xmlWarning.parseRenderedSeverity()) - require.Equal(t, entry.Info, xmlInformation.parseRenderedSeverity()) - require.Equal(t, entry.Default, xmlUnknown.parseRenderedSeverity()) + require.Equal(t, entry.Fatal, parseSeverity("Critical", "")) + require.Equal(t, entry.Error, parseSeverity("Error", "")) + require.Equal(t, entry.Warn, parseSeverity("Warning", "")) + require.Equal(t, entry.Info, parseSeverity("Information", "")) + require.Equal(t, entry.Default, parseSeverity("Unknown", "")) + require.Equal(t, entry.Fatal, parseSeverity("", "1")) + require.Equal(t, entry.Error, parseSeverity("", "2")) + require.Equal(t, entry.Warn, parseSeverity("", "3")) + require.Equal(t, entry.Info, parseSeverity("", "4")) + require.Equal(t, entry.Default, parseSeverity("", "0")) } func TestParseBody(t *testing.T) { - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 1, Qualifiers: 2, @@ -118,11 +98,11 @@ func TestParseBody(t *testing.T) { }, } - require.Equal(t, expected, xml.parseBody()) + require.Equal(t, expected, formattedBody(xml)) } func TestParseBodySecurityExecution(t *testing.T) { - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 1, Qualifiers: 2, @@ -193,7 +173,7 @@ func TestParseBodySecurityExecution(t *testing.T) { }, } - require.Equal(t, expected, xml.parseBody()) + require.Equal(t, expected, formattedBody(xml)) } func TestParseBodyFullExecution(t *testing.T) { @@ -203,7 +183,7 @@ func TestParseBodyFullExecution(t *testing.T) { userTime := uint(100) processorTime := uint(200) - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 1, Qualifiers: 2, @@ -284,11 +264,11 @@ func TestParseBodyFullExecution(t *testing.T) { }, } - require.Equal(t, expected, xml.parseBody()) + require.Equal(t, expected, formattedBody(xml)) } func TestParseNoRendered(t *testing.T) { - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 1, Qualifiers: 2, @@ -341,11 +321,11 @@ func TestParseNoRendered(t *testing.T) { }, } - require.Equal(t, expected, xml.parseBody()) + require.Equal(t, expected, formattedBody(xml)) } func TestParseBodySecurity(t *testing.T) { - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 1, Qualifiers: 2, @@ -402,11 +382,11 @@ func TestParseBodySecurity(t *testing.T) { }, } - require.Equal(t, expected, xml.parseBody()) + require.Equal(t, expected, formattedBody(xml)) } func TestParseEventData(t *testing.T) { - xmlMap := EventXML{ + xmlMap := &EventXML{ EventData: EventData{ Name: "EVENT_DATA", Data: []Data{{Name: "name", Value: "value"}}, @@ -414,7 +394,7 @@ func TestParseEventData(t *testing.T) { }, } - parsed := xmlMap.parseBody() + parsed := formattedBody(xmlMap) expectedMap := map[string]any{ "name": "EVENT_DATA", "data": []any{ @@ -424,13 +404,13 @@ func TestParseEventData(t *testing.T) { } require.Equal(t, expectedMap, parsed["event_data"]) - xmlMixed := EventXML{ + xmlMixed := &EventXML{ EventData: EventData{ Data: []Data{{Name: "name", Value: "value"}, {Value: "no_name"}}, }, } - parsed = xmlMixed.parseBody() + parsed = formattedBody(xmlMixed) expectedSlice := map[string]any{ "data": []any{ map[string]any{"name": "value"}, @@ -451,7 +431,7 @@ func TestUnmarshalWithEventData(t *testing.T) { event, err := unmarshalEventXML(data) require.NoError(t, err) - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 16384, Qualifiers: 16384, @@ -479,6 +459,7 @@ func TestUnmarshalWithEventData(t *testing.T) { {Name: "Source", Value: "RulesEngine"}}, }, Keywords: []string{"0x80000000000000"}, + Original: string(data), } require.Equal(t, xml, event) @@ -491,7 +472,7 @@ func TestUnmarshalWithAnonymousEventDataEntries(t *testing.T) { event, err := unmarshalEventXML(data) require.NoError(t, err) - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 8194, Qualifiers: 0, @@ -516,6 +497,7 @@ func TestUnmarshalWithAnonymousEventDataEntries(t *testing.T) { Keywords: []string{"0x80000000000000"}, Security: &Security{}, Execution: &Execution{}, + Original: string(data), } require.Equal(t, xml, event) @@ -528,7 +510,7 @@ func TestUnmarshalWithUserData(t *testing.T) { event, err := unmarshalEventXML(data) require.NoError(t, err) - xml := EventXML{ + xml := &EventXML{ EventID: EventID{ ID: 1102, }, @@ -554,130 +536,8 @@ func TestUnmarshalWithUserData(t *testing.T) { ProcessID: 1472, ThreadID: 7784, }, + Original: string(data), } require.Equal(t, xml, event) } - -func TestParseBodyRemoteServer(t *testing.T) { - xml := EventXML{ - EventID: EventID{ - ID: 1, - Qualifiers: 2, - }, - Provider: Provider{ - Name: "provider", - GUID: "guid", - EventSourceName: "event source", - }, - TimeCreated: TimeCreated{ - SystemTime: "2020-07-30T01:01:01.123456789Z", - }, - Computer: "computer", - Channel: "application", - RecordID: 1, - Level: "Information", - Message: "message", - Task: "task", - Opcode: "opcode", - Keywords: []string{"keyword"}, - EventData: EventData{Data: []Data{{Name: "1st_name", Value: "value"}, {Name: "2nd_name", Value: "another_value"}}}, - RenderedLevel: "rendered_level", - RenderedTask: "rendered_task", - RenderedOpcode: "rendered_opcode", - RenderedKeywords: []string{"RenderedKeywords"}, - RemoteServer: "remote_server", - } - - expected := map[string]any{ - "event_id": map[string]any{ - "id": uint32(1), - "qualifiers": uint16(2), - }, - "provider": map[string]any{ - "name": "provider", - "guid": "guid", - "event_source": "event source", - }, - "system_time": "2020-07-30T01:01:01.123456789Z", - "computer": "computer", - "channel": "application", - "record_id": uint64(1), - "level": "rendered_level", - "message": "message", - "task": "rendered_task", - "opcode": "rendered_opcode", - "keywords": []string{"RenderedKeywords"}, - "event_data": map[string]any{ - "data": []any{ - map[string]any{"1st_name": "value"}, - map[string]any{"2nd_name": "another_value"}, - }, - }, - "remote_server": "remote_server", - } - - require.Equal(t, expected, xml.parseBody()) -} - -// Additional test cases to ensure comprehensive coverage - -func TestParseBodyNoRemoteServer(t *testing.T) { - xml := EventXML{ - EventID: EventID{ - ID: 1, - Qualifiers: 2, - }, - Provider: Provider{ - Name: "provider", - GUID: "guid", - EventSourceName: "event source", - }, - TimeCreated: TimeCreated{ - SystemTime: "2020-07-30T01:01:01.123456789Z", - }, - Computer: "computer", - Channel: "application", - RecordID: 1, - Level: "Information", - Message: "message", - Task: "task", - Opcode: "opcode", - Keywords: []string{"keyword"}, - EventData: EventData{Data: []Data{{Name: "1st_name", Value: "value"}, {Name: "2nd_name", Value: "another_value"}}}, - RenderedLevel: "rendered_level", - RenderedTask: "rendered_task", - RenderedOpcode: "rendered_opcode", - RenderedKeywords: []string{"RenderedKeywords"}, - RemoteServer: "", - } - - expected := map[string]any{ - "event_id": map[string]any{ - "id": uint32(1), - "qualifiers": uint16(2), - }, - "provider": map[string]any{ - "name": "provider", - "guid": "guid", - "event_source": "event source", - }, - "system_time": "2020-07-30T01:01:01.123456789Z", - "computer": "computer", - "channel": "application", - "record_id": uint64(1), - "level": "rendered_level", - "message": "message", - "task": "rendered_task", - "opcode": "rendered_opcode", - "keywords": []string{"RenderedKeywords"}, - "event_data": map[string]any{ - "data": []any{ - map[string]any{"1st_name": "value"}, - map[string]any{"2nd_name": "another_value"}, - }, - }, - } - - require.Equal(t, expected, xml.parseBody()) -} diff --git a/pkg/stanza/operator/operatortest/confmap.go b/pkg/stanza/operator/operatortest/confmap.go index 90486dd435e5..dc237dfaa6ce 100644 --- a/pkg/stanza/operator/operatortest/confmap.go +++ b/pkg/stanza/operator/operatortest/confmap.go @@ -4,7 +4,6 @@ package operatortest // import "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/operator/operatortest" import ( - "fmt" "testing" "github.com/stretchr/testify/require" @@ -37,7 +36,7 @@ func (c ConfigUnmarshalTests) Run(t *testing.T) { t.Run(tc.Name, func(t *testing.T) { testConfMap, err := testConfMaps.Sub(tc.Name) require.NoError(t, err) - require.NotEmpty(t, testConfMap.AllKeys(), fmt.Sprintf("config not found: '%s'", tc.Name)) + require.NotEmpty(t, testConfMap.AllKeys(), "config not found: '%s'", tc.Name) cfg := newAnyOpConfig(c.DefaultConfig) err = testConfMap.Unmarshal(cfg) diff --git a/pkg/stanza/operator/output/drop/output_test.go b/pkg/stanza/operator/output/drop/output_test.go index 44e48499d84e..520dcfee6e4b 100644 --- a/pkg/stanza/operator/output/drop/output_test.go +++ b/pkg/stanza/operator/output/drop/output_test.go @@ -26,8 +26,7 @@ func TestBuildIvalid(t *testing.T) { set := componenttest.NewNopTelemetrySettings() set.Logger = nil _, err := cfg.Build(set) - require.Error(t, err) - require.Contains(t, err.Error(), "build context is missing a logger") + require.ErrorContains(t, err, "build context is missing a logger") } func TestProcess(t *testing.T) { diff --git a/pkg/stanza/operator/parser/container/config.go b/pkg/stanza/operator/parser/container/config.go index 63fabfe8e882..b707883713f7 100644 --- a/pkg/stanza/operator/parser/container/config.go +++ b/pkg/stanza/operator/parser/container/config.go @@ -27,7 +27,7 @@ const ( var removeOriginalTimeField = featuregate.GlobalRegistry().MustRegister( removeOriginalTimeFieldFeatureFlag, - featuregate.StageAlpha, + featuregate.StageBeta, featuregate.WithRegisterDescription("When enabled, deletes the original `time` field from the Log Attributes. Time is parsed to Timestamp field, which should be used instead."), featuregate.WithRegisterReferenceURL("https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33389"), ) diff --git a/pkg/stanza/operator/parser/container/parser.go b/pkg/stanza/operator/parser/container/parser.go index ebeb18644005..5c33005435f4 100644 --- a/pkg/stanza/operator/parser/container/parser.go +++ b/pkg/stanza/operator/parser/container/parser.go @@ -28,7 +28,7 @@ const recombineInternalID = "recombine_container_internal" const dockerPattern = "^\\{" const crioPattern = "^(?P